The magazine for Sinclair users
Math and Science:
* Least Squares Analysis
Programming:
* Alternative Display
* Storing Words
Space Warp
Graphics Game
a сша
BVM » DATS
THE SUBSCRIPTION MAGAZINE FOR THE ZX-81 MICROCOMPUTER
FOR THE ZX-80 & ZX-81
8K ROM IK - 16K
GAMES-EDUCATIONAL-BUSINESS
GRAPHICS-TUTORIAL-ETC.
12 Mo. Issues — 6 Bi-Month
CASSETTES
AT LEAST 6 PROGRAMS EACH |
$39.50
Ill. Residents add $2.07 tax
outside USA add $10.00
Ask for operator #383
muc 24 HR. HOT LINE 800-543-1300
(312) 628-8955 IN OHIO - 800-582-1364
Make your “LITTLE” ZX81
work like a BIG computer
with BYTE-BACK modules
INSTANT INFORMATION .| 16-K MEMORY MODULE
BYTE-BACK’S MD-1
MODEM only $99.95
WIRED and TESTED $119.95
Use your phone to connect your “LITTLE” ZX81
to the "LARGEST" computer networks in the world. With
BYTE-BACK's MD-1 MODEM connected all you do is dial
a phone number (usually local), press a few keys and
watch the data appear on your TV screen. (Software is
included)
This MODEM can be used in either the "originate" or
"answer" mode with selectable baud rate.
You can have immediate access to:
DOW JONES UPI And Much More!
RS-232 PORT INCLUDED
As an extra bonus ап RS-232 port is provided
to allow you to drive all standard RS-232 periph-
erials.(75 to 9600 Baud)
64-K MEMORY MODULE
It has a Metal Case
NEW
in stock!
$139.77
WIRED and TESTED $154.95
It has a Metal Case
only
$69.95
WIRED апа TESTED $79.95
in stock!
But unlike other 16-K memory modules, up to
three BYTE-BACK M-16 memory modules
can be connected at one time to get a total of
48K.
(It can be used with the SINCLAIR memory module.)
BYTE-BACK'S BB-1
CONTROL MODULE
$59 00 In Stock!
= KIT
WIRED and TESTED $69.
e 8 Independent Relays
(with LED status indicators)
e 8 Independent TTL Inputs
(with Schmitt trigger buffers)
e By using a single POKE command
you can change and latch the status
of each of the 8 relays.
e Your ZX80/1 can read the
status of all 8 inputs by the use
of a single PEEK command.
e A comprehensive manual is
included that has complete appli-
cation details.
The new M-64, together with the ZX-81, gives a full
64K of system memory (ROM * RAM) with the same high
reliability of our proven 16-K module.
ALL MODULES CARRY 90-DAY WARRANTY
Remember with:BYTE BACK modules you are NOT limited to using only one module at a time!
C
Mail To: BYTE-BACK CO. * Rt. 3, Box 147 е Brodie Rd. • Leesville, S.C. 29070
п | O MOI Kit MERIT TT $139.95 O M-16 КЕ с.га 4. .нз виз жакан ка ке» $69.95
ш © | О M-64 Wired and Tested............. $154.95 O M-16 Wired and Tested.............. $79.95
GOSS | OM-64 Blank РС Воага............... $19.95 [O M-16 Blank PC Воага............... $19.95
О@(;Ф | овв-і кігапа Мапиа!.................. $59 O Modem Кйй........................ 599.95
OTe ©) | ОВВ-І Wired and Tested and Manual...... $69 O Modem Wired and Tested ........... $119.95
& -
"PE S | О ВВ-1 Blank PC Board and Manual....... $29 Shipping and Handling $4.95
ше ao
ES 2 | ORDER PHONE (803) 532-5812 Bill My C1 Visa О Mastercharge “уурусу
aa ui & | Exp.Date. — —— — . Card No.
i -d | Name f ,
с | Address MasterCard
| City/State/Zip
|
We carr
all the parts
and the
| | > you
rinted Circuit Board.
INTEGRATED CIRCUITS
VOLTAGE REGULATORS
POSITIVE NEGATIVE
7805 +5V 7905 -5V
7812 +12 7912 -12
7815 +15 7915 -15
7824 +24 1.25 €a.
HEAT SINK 25¢
LM323K 5VOLT
3AMP 3.95
HEAT SINK 75¢
LLL
+ + © © © 7Í o
+ «+ © © o £7 5
. «+ о © э o
MEMORY
2114 1KX4 STATIC 4.00 8/28.00
4118 1KX8 STATIC 8.25 8/58.00
6116 2KX8 STATIC 14.95 8/125.00
4116 16K X1 DYNAM 3.50 8/24.00
2716 2KX8 EPROM 12.00 8/84.00
2732 4KX8 EPROM 19.95 8/135 00]
TTL
PARTIAL. LISTING
7400..... .24 74LS00..... 25
7403..... .24 74L.503..... 125
7409..... .28 74LS09..... «30
7490..... .35 74LS90..... -45
74148... .75 7415138... .70
74154..1.25 74LS154.. 1.75
74190....75 7415190... .85
7415244 1.00 74LS245..
CMOS
PARTIAL LISTING
74CO00..... .40 4001.... .30
74C02..... .40 4011.... .30
74C30..... .40 4016.... . 60
74C90.... 1.35 4020... 1.20
74C154.. 4.25 4071.... .30
74C240.. 2.35 4511... 1.15
74C244.. 2.35 4553... 3.95
LINEAR
MC3401 QUAD OP-AMP .... .50
MC1555 ТІМЕВ.................. .45
BI-FET ОР-А МР5 LOW NOISE
SINGLE Т1 081... .75
DUAL. TLO82. 1.25
QUAD TLOB84.. 2.25
TLOZ71... .90
TLO72.. 1.50
TLO74.. 2.50
WIRE WRAP WIRE
KYNAR #30 WIRE WRAP WIRE
PRECUT TO LENGTH THEN 1"
STRIPPED FROM EACH END.
WE GOT IT IN RED, YELLOW,
BLUE,BLACK,WHITE & GREEN
LENGTH 100/BAG 1000/BAG
3.0" 1.45 7.50
32.9'' 1.58 8.25
4.0'' 1.65 9.00
4.5'' 1.75 9.75
5.0" 1.85 10.25
ADD'L 0.5' UP TO А TOTAL
OF 10.0" .10 725
#30 BY THE SPOOL
100° ...3.95 500° ..11.95
1000° ...19.95
CLIP AND STRIP
, CUT AND STRIP#30
" WIRE IN ONE OPERA-
TION.TAKES A LOT
OF THE WORK OUT
OF WIRE WRAPPING,
CAS1 3 OU oor e occ S
HOBBY WRAP TOOL
AUTO-INDEX :
ANTI-OVERWRAP
MODIFIED WRAP
TOOL WITH BIT
BYV26308B. .... .27.95
WRAPS AND UNWRAPS
BUILT-IN#30 WIRE STRIPPER
WSU30... REGULAR
WSU30M MODIFIED
Check
Mastercharge. Add $3.00 for
ing and handling, Texas
nts add 5% state sales tax.
Foreign orders add $10,00 for
shipping; U.S. funds only.
Limite
i
reside
WANT TO FIX YOUR SINCLAIR? ADD MORE MEMOR Y? ADD A BUSS? WE GOT YOUR PARTS.
need to repair your Sinclair with the Ене of the Sinclair Logic Unit, the ROM,
In addition we carry OK, WELLER. and і ( /
cases and VECTOR breadboarding and prototyping supplies. We stock resistors, capacitors, integrated circuits,
descrete solid state devices, switches, sockets, connectors etc. etc. Below is a very small sampling of our products.
If you see what you need give us a call, if you don’t write for our free catalog.
FULL-SIZE KEYBOARD
INCREASE YOUR COMPUTING
TIME BY DECREASING TYPING TIME
ADD A FULL-SIZE KEYBOARD TO YOUR
ZX-80/81 OR MICROACE. YOUR FINGERS
WILL LOVE YOU FOR IT.
OUR KEYBOARD HAS 62 KEYS SO YOU CAN
ADD LOTS OF EXTRA FUNCTIONS. WE WILL
EVEN SEND YOU PLANS ON HOW TO ADD
SUCH USEFUL THINGS AS AUTOMATIC SHIFT
ON CERTAIN FUNCTIONS, AUTOMATIC REPEAT
AND RESET. EACH KEY HAS GOLD CONTACTS
AND IS FIRMLY MOUNTED TO A BLACK METAL
PLATE ‘WHICH MEASURES 15-1/2" BY 4" AND
DOUBLES AS AN ATTRACTIVE FACE PLATE.
BEST OF ALL YOU CAN GET YOURS IN KIT
FORM, COMPLETE WITH INSTRUCTIONS, OR
WIRED AND READY TO GO. EITHER WAY WE
WILL INCLUDE THE EXSPANSION PLANS.
KEYBOARD KIT. 34.95 WIRED & TESTED..49.95
YOUR
ULTIMATE POWER SUPPLY
WHY WASTE TIME BUILDING NEW POWER
SUPPLIES WHEN YOU WANT TO EXPAND?
BUY AN ULTIMATE SUPPLY AND SPEND
ALL YOUR TIME ON PROJECTS NOT P.S.
MULTIVOLTAGE
FOR DYNAMIC RAMS ETC.
INPUT 120 - 220 VAC
OUTPUTS +5VDC--5AMP
*12VDC 1AMP
—12VDC-1AMP
12VAC--1/2 A.
SINGLE VOLTAGE
FOR CMOS & TTL LOVERS
I N PU T—------- 120 - 220 VAC
OUTPUT--— +5VDC---9AMP
DIM.——9-*t/2X 5X 5
MOD CPS-169
ALSO AVAILABLE
120 IN 5VDC-3AMP MOD SPS 30-5...24:95
120 IN 5.8VDC--1.2AMP MOD SPS 1-5
money order, VISA, or
quanities on some items.
CELITE tools, HAMM
EASY ONE HAND OPERATION
ALL METAL CONSTRUCTION
REPLACEABLE TEFLON TIP
REGULATED SUCTION
VACUUM BASED
LIGHT DUTY VISE
1-1/2" WIDE JAWS
1-1/4'" TRAVEL
LA E T E
ALTEX ELECTRONICS
618 W. Sunset
San Antonio, Texas
78216
1—-512—828—0503
ND, and PAC-TEC
SINCLAIR R. F.
CONNECTOR | MODULATOR
GOLD CONTACTS
WIRE WRAP OR
SOLDER TAIL
$7.50
USA VHF 5.95
DATA
CASSETTES
5175
10 for *159?
Made for Datapoint
by Maxell
90 min. with case
5 screw high strength shell
JOYSTICK
4 - 10K Linear pots
1- V2" metal handle
2- V8 square
$5.95
IC SOCKETS
*PIN SOL WW
SOLDER
KESTER 60/40
Rosin core. .020 dia.
1 Pound Roll
SOLDERING IRONS
WELLER
WP25 120V 25W 17.03
WP40 120V 40W 20.93
PENCIL THIN IRON (NOT SHOWN)
WM120 120V 12W 19.47
SOLDERING TOOL STAND
STAND WITH SPONGE,
$ BASE & RECEPTACLE.
FITS WP-25 WP-40 W-60
MOD PH-60
FITS WM-120
MOD PHM-120
INSERTION /
EXTRACTION TOOLS
INS1416 INSERT TOOL 4.35
MOS SAFE INSERT TOOLS
MOS1 416 14-16 PIN.....9.95
MOS2428 28-28 PIN..... 9.95
MOS40 36-40 PIN....10.95
EXTRACTION TOOLS
EX1 ` 14-16 PIN.....1.49
EX2 24-40 PIN. ...9.95
WK7 COMPLETE KIT ...37.95
The magazine for Sinclair users
Ei іг
May/June 1982
Volume 2, Number 3
DEPARTMENTS
4 LOISIR. ooo d RRERENRERA PUR FI URGERE CE Va енын эке
8 SYNC Мойөз................................. Grosjean
20 Try TRIS. usa kar he ERa etx RREA Y m Sad Seeler, Bush
20 Glitchoidz Верок.....................................
14 Perceptions. ................................. Ornstein
The ZX81 Parser and User-Defined Commands
12 dust for Fun... ool
42 Ңө$оОигСӨ$...........................................
48 Index to Аауег\ї$ег$..................................
HARDWARE AND THE KEYBOARD
23 Two-Switch Human Interface
for the Communicative Impaired. ............... Dorcey
Using the ZX80/81 to communicate
28 Keyboard/System Conversion:
The First 40/1 Кеуѕ.......................... Trelease
Add a keyboard to your ZX80/81
PROGRAMMING TECHNIQUES AND FUNCTIONS
1 6 An Introduction to Expression Evaluation........Logan
How your 8K ROM handles expressions
38 An Alternative Display —Tank Battle. ............ Nisbet
Developing displays; game
46 Storing 3-Letter Words in an Array............ Manders
Memory squeezing; game
48 Character Веуегѕе. .......................... Егеетап
Моге on strings
MATH AND SCIENCE
32 Least Squares Data Analysis with the ZX80/81..... Salt
Finding the straight line
GAMES
44 Space Магр...................................... Fox
Command decisions for the touch down
REVIEWS
43 ZX Саіахіапѕ............................. Wren-Hilton
Software review
—————— P ЕГА — I OEE d
Staff
Рири$һег...................................... ааз David Н. Ahl
Managing Editor... 506s <:iccrssasdecetrisrinrenvens Paul Grosjean
Contributing Edilior. ...... 0.066655 ордоо wee ha David Ornstein
U.K. Соггезропдеп{. ........................... Martin Wren-Hilton
Secretary... b ut 6a 5 cmrteuPbdnremcqed o d dba engl Elizabeth Magin
Art Рїтесїог......................... 2...2... Susan Gendzwil
Assistant Art Director..........................-.Diana Negri Rudio
Tunes еге. iuo ssoceway Eg t RRDURAM RAATCDE: pE Кшз Karen Brown
Renea Cole
Financial Coordinator. ....... ooo rns William L. Baumann
Personnel and Еіпапсе............................ Patricia Kennelly
ChreulaBtiON, «cose binds sveaanedne sua RR RA Francis Miskovich
Carol Vita
Advertising Sales Managét.........2o eR RR Jim Beloff
MEMBER
Volume 2, Number 3
SYNC (USPS: 585-490: ISSN: 0279-5701) is published bi-monthly for
$16 per year by Creative Computing, 39 E. Hanover Ave., Morris Plains,
NJ 07950.
Second class postage paid at New York, NY 10001, and at additional
mailing offices.
Subscription rates: USA: 6 issues, $16; 12 issues, $30: 18 issues, $42.
Canada: $3 per year additional. Other foreign: $5 per year additional.
U.K. air: 6 issues, £13. Minimum charge card order: $10.
For SYNC advertising information, contact Jim Beloff, SYNC Advertis-
ing Sales Manager, Ziff-Davis Publishing Company, One Park Ave., New
York, NY 10016 (phone 212/725-4216).
All other correspondence should be addressed to: SYNC, 39 E. Hanover
Ave., Morris Plains, NJ 07950. In U.K., SYNC, 27 Andrew Close, Stoke
Golding, Nuneaton CV136EL.
Postmaster: Send address changes to SYNC, PO Box 789-M, Morristown,
NJ 07960.
a Creative competing PUBLICATION
Шагы _
Help Wanted
Dear Editor:
I have a special request. I would like to
have some information on producers and
shops which sell ZX81 music programs,
like one which changes the ZXS81 into an
electric organ or a synthesizer. I own a
ZX81 and I am very interested in making
and playing music on it. Also I am inter-
ested in a good accounting system for a
small business.
Arnar Matthiasson
Samvinnuskolinn
Bifrost
311 Borgarnes
Iceland
Dear Editor:
I recently acquired my ZX81 (16K) with
little knowledge of programming under
my belt. I received my first issue of SYNC
(2:1), and I was excited at the prospect of
using machine language. Then I encoun-
tered two problems:
1) I would be interested in knowing
how to modify the "Flattop Lander" code
for my machine. The system variables
appear to be different, and I have no
source equivalents.
2) I twice, no thrice, entered the "Life"
program with no success. The initial border
routine worked, but after I entered some
numbers/cells the system would crash when
I input 0 to continue. Are there any bugs?
I even entered it once using Mr. Ornstein’s
Window program (a long process I can
assure you).
Any help you could give me would be
appreciated. I enjoy your magazine, though
I wish that it were monthly. Also, which
back issues are still available?
Keith Liggeti
21111 Strathmoor Lane
Huntington Beach, CA 92646
Ed. — The "Life" program did have some
problems as some readers have called to
our attention. The author has supplied
the revisions which are included in our
Glitchoidz Report. A few back issues of
SYNC 1:2 are available at $2.50 each.
Payment should accompanv the order.
4
Dear Editor:
Enclosed is a list of several errors that I
found in The Gateway Guide to the ZX81
and ZX8&0. | am sure that most readers
would spot the errors quickly, but beginners
may not. I feel that the book is well worth
the money, as is The ZX81 Companion
(but I wish more about the intricate working
of the ROM had been included).
Now a question. Is there any way to
write a machine language routine to read
TRS-80 500 BAUD tapes? I sent for a kit
to do so, but it is really designed for an S-
100 Bus operating with a Z80 CPU. How
about an article in SYNC on this? How
about more articles on machine routines
to extend the 8K Basic like the READ
routine in Edward Kennedy's article ($ УУС
1:5). How about MERGE? How about a
routine to set a single pixel?
I liked very much David Ornstein's article
on the 4K ROM SAVE command. I hope
that he does as threatened and writes an
article on a full fledged cassette based
I/O processing system, especially if he
includes details on wiring the cassette to
forward or reverse under CPU control.
I have also sent for a light pen (designed
for the TRS-80) that I would like to hook
up to my 8K ROM ZX80. Any suggestions?
How about some articles on adding output
ports to make the ZX80 compatible with
TRS-80 peripherals?
Timothy MclIlwee
Flagler Palm Coast High
PO Box 488
Bunnell, FL 32010
Ed. — The corrections have been passed
on to our Book Division. Again our readers
have set out a number of challenges. We
look forward to your responses.
Program Problems
Dear Editor:
I am the owner of a ZX80 and a ZX81.
I have been trying some of the examples
in your magazine and have been having
problems. E.g., In Robot Composer (1:5)
I cannot enter line 150; in Defuse (1:5),
lines 10, 20, 30, 40; in Graphic Surprises
(1:3), lines 130, 200, 1010; Variable Con-
versions (1:3), line 30; The TLS Function
(1:4), line 50 LET P$—TLS(AS) (syntax
error); Mini-Billboard, line 21 LET
AS-—' TLS(AS). Please tell me how I can
do these.
Edward A. Parker
582 East Sunset Dr.
Altadena, CA 91001
Ed. —First and foremost be sure that you
are entering your program on the correct
ROM. All the programs in issues 1:1, 1:2,
1:3, and 1:4 are for the 4K ROM and
cannot be entered on the 8K ROM without
translation. In issues from 1:5 on programs
for both ROMs are included, and the
machine requirements for the programs
are given at the top of the page. Most of
the lines referred to above seem to involve
the random feature. On the 4K ROM
RANDOMISE is on the J key and RND(x)
must be spelled out; on the SK ROM INT
and RND are functions and must be entered
directly from the keyboard in one key-
stroke. In the line PS—TLS(PS$), ignore
the syntax error and finish typing in the
line. It serves to remind vou that something
must be completed, e.g., the second
parenthesis or quotation marks. For the
SK ROM the line must be rewritten as
LET P$=P$(2 TO #).
ZX80 Slow Mode
Dear Editor:
Is there any way that I can get my
ZX80 with the 8K ROM to run in the
SLOW mode? :
Anthony Larry
228 Main St.
West Haven, CT 06516
Ed. —At present the only method we have
heard of is the MicroAce Video Upgrade
Kit (see a review of this kit in SYNC 2:1,
p. 27) However, MicroAce has closed
down its U.S. operation, and we have
received no information whether a U.S.
distributor for the kit has been arranged.
MicroAce can be reached at: MicroAce
Compshop. 14 Station Road, New Barnet,
Hertfordshire ENS IQW, United Kingdom.
SYNC Magazine
Software Publishers —Analyze the NEED!
The TIMEX and SINCLAIR ZX systems are cassette-based. Everything
depends on delivering software product the user can LOAD very readily, with-
out difficulty. In publishing software for these machines, reputation and repeat
orders depend on good programming AND ready-loading product.
Software Publishers —Qualify the SOURCE!
COOK LABS is the product source that DOES (1981). Users don't have problems with T.I.
duplicate digitally — not audio-analog. cassette software. They needn't with yours.
COOK LABS has been making digital cassettes SINCE 1952 Emorv Cook's name has been
for serious software publishers for many years. mne y 3 wid Ладе 1
Why? internationally associated with leadership in
| | EM electronics design.
COOK LABS is the only duplicating source
with Texas Instruments CERTIFICATE of COOK LABS operates under his engineering
AWARD for EXCELLENCE of QUALITY control and supervision.
Wil] ор
(two of every Kioa The Noah's Д5
that wits
SOFTWARE PUBLISHERS — PHONE, WRITE, USE COUPON... GET INFORMATION NOW!
COOK LABORATORIES, INC. NAME _———
Р.О. Вох 529
Norwalk, CT 06856 (Phone 203-853-3641) COMPANY.
[] Inform me about COOK services for:
[] Software duplication. ADDRESS
[] Procurement of labels, inserts, etc.
[] Fulfillment, including fulfillment of individual orders. ee E ион а Ene АКЫ"
[] Send free booklet: Cassettes — An Effective Software
Medium." PHONE (OPTIONAL)
When your computer wont
speak your language,
you need a basic handbook.
As a matter of fact, everyone who works in BASIC needs The
BASIC Handbook. It is the definitive reference
work on the subject of BASIC.
The BASIC Handbook is an easy-to-
use encyclopedia of nearly 500 words
covering the “dialects” used by virtu-
ally every BASIC-speaking computer
in the world. But more than that, it's a
simple, step-by-step guide to translat-
ing programs from one computer
to another. So now you can actu-
ally use software printed in
M
/!
magazines and elsewhere, no
matter what computer you own.
Written by Dr. David А. Lien, author
of the Tandy TRS-80 Level I User's Manual and
the Learner's Manuais for the Epson e
MX printers, this completely revised —————
Second Edition contains almost twice
as many entries as the best selling
First Edition, making it
by far the most up-to-
date BASIC reference ati OO
book you can buy.
Extensively indexed and cross-referenced, The BASIC Hana-
book gives you 480 pages packed with the information you need to
be a better programmer. And if, after 30 days you don't agree it's
indispensable, send it back. We'll return your money.
INN The BASIC Handbook is available in several
à languages and accepted throughout the
world. No one who programs in BASIC
should be without it.
Available at better computer and
E oo. book stores,
s or call (800) 854 -6505
In California (714) 588 -0996
To order by mail, send check or
money order for $19.95 (California
residents add 6%), plus $1.65
shipping and handling.
Overseas orders send
$19.95 plus $2.38 surface
shipping and handling.
®
MasterCard
1050-E Pioneer Way, Dept. E, El Cajon, CA 92020
L—
The Hidden Chessmen
Dear Editor:
| have received several requests to
convert The Hidden Chessmen (SYNC
1:6) to use on a ZX81. Presently, I have
an 8K ROM in my ZX80 and a 16K RAM
pack. The following changes were needed
to get the program running:
1 LET B=1+INT(8*RND)
2 LET C=1+INT(8*RND)
3 LET K=1+INT(8*RND)
4 LET L=1+INT(8*RND)
6 LET R=1+INT(8*RND)
7 LET S=1+INT(8*RND)
44 LET X=INT(Q/10)
50 LET Q—PEEK 16396+ 256*
PEEK 16397+2*Х-1+66*(Ү-1)
62 IF... THEN POKE(Q+33),48
64 IF ... THEN POKE(Q+34),55
The program takes more than 1K RAM,
but I think it will fit in 2K.
Roger Haar
19372 Holts Rd.
Martin, OH 43445
Ed. — Our thanks to Roger Haar for these
changes to make the program available
to our 8K ROM readers. a”
OTHELLO FOR 1K
GRAPHICS, HIGH-SKILL
PLAYING ALGORITHM
$7.50 (U.S.) $10.00 (NON-U.S.)
INTELLECTUAL GAMES
193 PEACEABLE ST.
RIDGEFIELD, CT 06877
WORD POOL
The ultimate spelling program for the
2Х80/81 For use in the home or school
Program featuresa current list and a
wordpool built up from previous lists
Uses a corrective routine with graphics
Does not simply identify right or wrong
answers Menu options include the fol-
lowing —
1 Display/Change Current List
(Password)
2 Display Wordpool
3 Display Change Time Limit
(Password)
4 Run Test— Current List
5 Run Test— Wordpool
6 Delete Wordpool | (Password)
7 Identify Student
8 Error Recall (Password)
9 Autosave
Suitable for all children in grades 1 thru
8 Tested and found especially useful to
dyslexics and those with writing difficul-
ties
Versions for the 2Х80. ZX80-8K ROM or
ZX81 all with 16K memory Please state
version required Send $15 for tape. notes
and shipping and handling (£7 OO Inc p
& p intheU K ) Fullrange of educational
software available — SA E for details
CROWN COMPUTERS (U.K.)
9 HOLME CLOSE
WOODBOROUGH
NOTTINGHAM МС 14•6ЕХ
ENGLAND.
mi
><
G
lore the excellence of your ZX81 with a
[ПЕГ1ОРВП 64H memory extension for $179.95
Give your diminishing memory more byte.
MEMOPAK 64K RAM $179.95
The Sinclair ZX81 has revolutionized
home computing. The MEMOPAK 64K
RAM extends the memory of ZX81 by a
further 56K to a full 64K. It is neither
switched nor paged and is Directly
Addressable. The unit is user trans-
parent and accepts such basic com-
mands as 10 DIM A (9000). It plugs
directly into the back of ZX81 and does
not inhibit the use of the printer or other
add-on units. There is no need for an
additional power supply or leads.
Description of memory
0-8K ... Sinclair ROM
8-16K . . . This section of memory
switches in or out in 4K blocks to leave
space for memory mapping, holds its
contents during cassette loads, allows
communication between programs, and
can be used to run assembly language
routines.
16-32K ... This area can be used for
basic programs and assembly language
routines.
32-64K . . . 32K of RAM memory for
basic variables and large arrays. With
the MEMOPAK 64K extension the ZX81
is transformed into a powerful com-
puter, suitable for business, leisure and
educationai use, at a fraction of the cost
of comparable systems.
Memory Extention Specialists
Memotech Corporation
7550 West Yale Ave., Suite 220
Denver, Colorado 80227
Ph.(303) 986 -0016
MEMOPAK 16K RAM $79.95
With the addition of MEMOPAK 16K,
your ZX81 will have a full 16K of Di-
rectly Addressable RAM. It is neither
switched nor paged and enables you to
execute longer and more sophisticated
programs and to hold an extended data
base.
The 16K and 64K Memopaks come in
attractive, custom-designed and engi-
neered cases which fit snugly on to the
back of the ZX81 giving a firm connec-
tion.
Free service on your MEMOPAK
Within the first six months, should any-
thing go wrong with your MEMOPAK,
return it to us and we will repair or
replace it free of charge.
— — — — — ———— —
Intemotech Corp. 7550 W. Yale Ave. Suite 220 Denver, Colo. 802
Try MEMOPAK with no obligation
You can use our MEMOPAK in your
home without obligation. After 10 days
if you are not completely satisfied,
simply return it for a full refund.
Coming soon .....
A complete range of ZX81 plug-in
peripherals:
MEMOTECH Hi-Res Graphics
MEMOTECH Digitising Tablets
RS232 Interface
Centronic Interface and
Software Drivers
All these products are designed to fit
"piggy-back" fashion on to each other
and use the ZX81 power supply.
Further information forthcoming.
Suite 220 Denver, Colo. 8 7l
| Yes! | would like to try the Memopak. | understand that if I’m not complete satisfied,
| can return it in 10 days for a full refund.
| [] Check
| [] Visa
[] MC
| Name
| Street
| City
Memopak 64k RAM $ 179.95
Memopak 16k RAM
Shipping and Handling |$ 4.95 | — — |s 495 |
|ae.mo[ 1
Price t Qty. Amount
зз» [|
+ U.S. Dollars
sync rings.
Paul Grosjean
Timex Sinclair 1000
The Timex Computer Corporation will
enter the personal computer market with
the Timex Sinclair 1000. Sales will begin
in July through the more than 100,000
Timex retail outlets, including computer
stores, department stores and chains,
consumer electronics, jewelry, and drug
stores. This step is the result of an agree-
ment between Timex and Sinclair Research
Ltd. for Timex to market computers using
Sinclair technical expertise. Sinclair's mail
order sales of the ZX81 will be phased
out as Timex begins its marketing program.
The announcement of the Timex entry
into this new field and of the agreement
with Sinclair was made by Daniel D. Ross,
Vice President of Timex Computer Cor-
poration, an affiliate of Timex Corporation,
in New York on April 20.
The Timex Sinclair 1000 is basically
the Sinclair ZX81, which Timex has already
been manufacturing in Dundee, Scotland,
but with two major differences. First, the
new machine will have 2K RAM instead
of the current 1K on the ZX81. Second,
the new machine will sell for a suggested
retail price of $99.95 instead of the $149.95
for the ZX81. Also featured will be an
instruction manual especially written for
the first time computer user with step by
step instruction and a course in funda-
mental programming.
Peripherals for the Timex Sinclair 1000
will also be sold by Timex along with the
basic machine. The first one available is
the 16K RAM expansion module for $49.95
(Sinclair's current 16K RAM is $99.95).
In the fourth quarter of 1982 a printer
and a telephone modem are expected to
go on sale for $99.95 each. The modem
will offer a significant enhancement for
many users and will feature: 300 BAUD,
standard Bell Telephone jack attachments,
and auto-dial capability. It will give a direct
tie-in with large computer data services.
Timex plans to supplement the hardware
offerings with a range of software, including
business, personal financial management,
education, and entertainment. The price
range of the programs is expected to be
from $9.95 to $19.95.
The marketing program will aim at the
first-time computer buyer, the educational
market, and computer buffs. The potential
market for personal computers is estimated
at over 90,000,000 customers. In addition
8
to instructional displays in the retail outlets,
Timex plans to support the retailers with
an extensive service network, a 90-day
guarantee, and a national ad campaign
beginning in August.
SYNC Coverage
SYNC will expand its coverage of the
Sinclair type computers by adding the
Timex Sinclair 1000 to the list. We will
continue to help you get more out of your
computer by providing instruction, enter-
tainment and product information.
Do You Want to...
Advertise in SYNC?
Contact Jim Beloff, SYNC Advertising
Sales Manager, Ziff-Davis Publishing Co.,
One Park Ave.. New York. NY 10016;
phone: (212) 725-4216. Jim now handles
all aspects of advertising in SYNC. He
will be glad not only to supply you with
all information about ad rates, specifica-
tions time schedules, and copy submission
but also to answer any questions you may
have about "getting in SYNC."
Be listed in the Resources Column?
Send a brief announcement of your
new product or service or users group
similar to the ones you have already seen
in the Resources Column to "SYNC
Resources." There is no charge for a one
time listing. Repeat listings may be made
at our classified rate which goes by the
inch. Be sure to include the name of your
product, brief details about it, and exact
details on how readers may order.
Send to: SYNC Magazine. 39 E. Hanover
Ave., Morris Plains. NJ 07950.
Write for SYNC?
In our Jan/Feb 1982 issue we ran an
article "Writing for SYNC." If you want
to submit an article to SYNC and did not
get this issue, send a self-addressed stamped
envelope to the managing editor for a
copy of the article.
If you are planning a rather lengthy
article, it would be best to check whether
we would be interested in the topic before
you put the work into writing it up. Just
drop a note with a brief outline or summary
of what you have in mind to the managing
editor. It is not unusual for us to receive
several articles or programs on similar
topics within a matter of a few weeks of
each other.
Again we want to emphasize that manu-
scripts must be typed and double spaced.
If you are submitting a printout of your
article. please set vour printer on double
space. Program listings. however. should
be single spaced and should show the
lines just as thev are on the computer
screen. А camera ready program listing
adds significantly to your article. When
printers are available. printouts will be
preferred. Long programs should also be
submitted on tape.
If you are submitting a program which
Is not a direct printout from your ZX80/81
computer, please enter your program from
your listing before you send it to us.
Send to: SYNC Magazine, 39 E. Hanover
Ave., Morris Plains. NJ 07950.
Order products from our advertisers?
1) Allow sufficient time for an order to
be processed. shipped. and delivered.
Understandably ZX80/81 users are eager
to get their orders. but patience must be
urged. Two to three weeks is simply not
enough turnaround time in most cases.
especially if the supplier waits for a check
to clear.
2) If you want to order internationally.
you can pay in the following ways: a) a
personal check (remember that a bank
only accepts a check for collection; when
you get your money immediately the bank
is really giving you the money from your
own account and will deduct that amount
if the check bounces; the check must
clear before it is actually credited; so
your supplier may wait to process your
order until the check clears); b) a bank
draft (such as when you make a withdrawal
from а savings account); c) a "foreign
draft" in the money of the country you
are ordering from (the charge in our area
is about $10); d) an international money
order (in dollars) purchased at your bank
SYNC Magazine
usually for a flat fee (in our area about
51.25 regardless of the amount); e) an
international money order purchased at
the Post Office (the rates vary according
to the amount of the money order and
the country to which it goes; for England
the cost is $1.30 for up to $25 and $1.50
for $25-50).
3) Remember that banks charge the
depositor for handling a foreign check: in
our area the charge can be up to $3; the
same holds for foreign banks handling
U.S. checks. Needless to say. such a charge
can eat up a sellers profit on a small
order. Some will include it in either a
handling charge or higher prices)
4) A check with local customs reveals
that in general there is no duty on software
but that there might be on hardware. To
be on the safe side. check with your local
customs office before ordering. especially
if the cost or quantity of items is substantial.
If there is a customs assessment. the Post
Office will notify you that you have a
package with the amount due which
includes a charge of about $2 by the Post
Office for handling the transaction.
64K
Screen Display
Area
48K
More I/O and
Memory Blocks
Software Switches
I/O Space
QUICKSILVA
Hi-res memory
User RAM
16K
Graphics and
Extended Basic
encarta
D.O.S. and
8K Network
Basic
OK
May/June 1982
Ask technical questions about your
ZX80/81?
Write a letter to the editor stating your
problem or question. We will refer the
letter to some of our authors who have
agreed to answer questions. (Please do
not call SYNC because the people who
can answer the questions are not at our
offices.) We will print the question and
answer whenever possible. The chances
are good that you are not the only one
who has the question.
Form a users group or publicize one?
Send details to our Resources Column.
Developing a
Memory Map Consensus
Nick Lambert of Quicksilva has proposed
that suppliers for the Sinclair computers
reach a consensus on some kind of memory
map to avoid "a whole heap of problems"
to everyone's benefit. He has proposed
the following ZX Computer Memory Map
on a provisional basis for discussion. The
comments of suppliers are welcome and
should be sent to Nick Lambert. Quicksilva.
95 Upper Brown Hill Road. Maybush.
Southampton. Hampshire. U.K. "n
ZX Computer Memory Map
User RAM (Screen routine only)
Read/write only memory
User RAM
Most people are. or will be. using a 16K RAM pack of some kind so really this
block should be left completely for this purpose. No ROM or I/O from this
block.
ROMs (for add-on boards)
The user RAM appears in this block where the screen display routines and
hardware use it to output the display. D-FILE can appear anywhere in this block
so it really cannot be used for any other purpose.
Due to the internal hardware of the computer no opcode fetches can be made
from this block. So you cannot run any machine code from here. You can read
and write to memory though so it is fine for data storage. Also it seems to be the
best place to do Input/Output from. Unless there is an extremely good reason
not to. Quicksilva intend to put the 6K of memory needed for our Hi-res board
starting at 32K. This will enable us to make the Hi-res software run significantly
faster. Other areas within this block are open to debate.
SYNC Program Listings
Readers should note the following
conventions used in the program listings
in this issue:
Z — The number symbol is used in
PRINT statements to show necessary
spaces.
"A"— The underline is used in PRINT
statements to indicate graphics. Press the
key designated in whatever way your
machine requires to get the graphic.
INPUT — In PRINT statements when
a word or token is underlined enter the
word from the keyboard rather than type |
it in letter by letter. This is a memory
saving technique.
After typing in a program line, you
must put the line into your program. On
the ZX80 and ZX81 with 8K ROM this is
done by hitting the NEWLINE key. On
the ZX81 the same thing is done by hitting
ENTER. The words are used interchange-
ably.
A number followed by a b is binary; a
number followed by h is hex.
This 8K block is the only area left. apart from user RAM space from which
you can do an opcode fetch. For this reason this block should be saved for extra
ROMs. Actual functions of the 2K areas in this block can be swapped around of
course. However. if two companies are doing the same product which requires
some of this ROM space. to avoid wasting valuable space. it would be sensible
for both to use the same 2K area. So here it would be advisable to settle for a
definite layout. i.e.. 8K to 10K for Disc Operating Systems. etc.
ROM (Sinclair Basic ROM)
А
/
LP
Эф,
1К RAM
8K ROM
just FOr FLIIT ———S
In general $ YNC prefers articles in some
depth so that we can help you develop
your programming skills and get more
out of your computer. However, a number
of readers have shared with us some of
their favorite short programs which are
too long for our "Try This" column and
too short for the kind of tutorial that we
often use. Some of these programs illustrate
a point or demonstrate a technique that
the reader has found helpful. Others do
something the reader has found interesting.
So we have collected a number of these
short programs "Just for Fun." If you learn
something. great. If you have some fun,
great. If you have some that you want to
share, send them in. We will have a "Just
for Fun" column as often as we have the
material.
Renumbering by a USR
Routine
Jon Passler
Enter the following program:
1 REM 15£58RNDYVE7YTAB
"RND7Y COS P7P77777TAB" RND
2 REM
3 LET L=USR 16514
4 STOP
See "SYNC Notes" for the conventions
used here. In addition, the overline indi-
cates inverse characters.
Then in the immediate mode (i.e..
without a line number) enter
POKE 16531.112
POKE 16533.113
RUN the program and note the changes
in the listing. Then add five more of the
graphics on the 7 key after the five already
given in 1 REM and run the program
again. Then in the immediate mode:
POKE 16515.10
and RUN again.
12
Delete all the lines except 1 REM and
save it for future use. It will SAVE and
LOAD more quickly without the 16K RAM
pack attached. The subroutine can be
called in the immediate mode by
LET L=USR 16514
Note:
LD BCS
LD HL.16525
LD A.59
ADD A.A
LOOP INC HL
CP (HL)
JPNZ, LOOP
INC HL
CP (HL)
RET Z
LD (HL).B
INC HL
LD (НІС
INC BC
INC BC
INC BC
INC BC
INC BC
JPNZ, LOOP
Jon Passler, 344 Cabot St.. Beverly. MA 01915.
Sweeper
Bernard Bush
Some uses for UNPLOT. TAB, and
SCROLL that are not given directly in
the manual can be extremely useful:
1) UNPLOT can be used in a FOR
NEXT LOOP to keep the print position
on a given line.
2) There are two PLOT (or UNPLOT)
positions for a given line. UNPLOT 0.42
or UNPLOT 0.43 will both work for the
top line.
3) SCROLL can also be followed by
UNPLOT to keep the print position on a
given line. Without it SCROLL moves the
print position to the bottom left side of
the screen.
4) SCROLL can be used in a loop to
SCROLL several lines. E.g..
10 FOR J=1 TO 10
20 SCROLL
30 NEXT J
The following programs show some uses
for UNPLOT and TAB.
SWEEPER
28 LET A=INT (RND#3) +1
= LET E INT (RNO Se) +5
за IF
ao GOSUB 19
110 NEXT E
120 FOR м=З@ TO 1 STEP -1
139 PRINT ТАВ J;"/7GoO "
140 GOSUB 190
179 NEXT J
150 GOTO 160
190 IF B-1 THEN UNPLOT @,42
20@ IF A=2 THEN UNPLOT @,4@
210 IF R-3 THEN UNPLOT @,за
228 RETURN
R +1
а>=1ё THEN TLS
RINT TAB d; “HELLO”
FOR K=3 TO ie
PRINT TRB қ; бз"
NEXT К
IF A@>=20 THEN GOSUB 208
бота =
E Bie
RETURN
Cs Ca £2 C3 UL CD CS ер C3 CO 2 fa C iy
Pape SOLCH e С La TO pa e
ШЧ
Bernard Bush. Rt. 2. Manslield. MO 65704.
Ed, the Head
Basil Wentworth
In lines 180 to 210 an action technique
is illustrated which might be useful in a
number of programs, for example. a moving
target, a flashing signal, alternating graphics
for rotary motion.
TO i4
=1
Ж +
ЖЕ”
к)
HI
^
E
uu CC
Gom Sm ку DA у тЫ К DA бу К) 0 9 9 Р
z
»,
-j
musco o "m
БОС ЫЛ > CON II СЛ {> rng
(00 om mmc
fO f ea e ft de e ER E EL ә
IT тю
OI Л!
94
|^
Basil Wentworth, 1413 Elliston Dr.. Bloomington.
IN 47401. a”
SYNC Magazine
Ld
CAI peripherals allow you to expand your Sinclair
or MicroAce personal computer, enabling it to perform
like a main frame or host computer...a true stand alone system!
The CAI/O board, along with the tape, printer and phone
modem, can put you in touch with the rapidly expanding world of
computer communications. Shake hands with the billions of bytes of
information, entertainment and technical knowledge coming on
stream. Expand your horizons with quality peripherals designed specif-
ically for Sinclair personal computers. .. only from CAI.
CAI/O Board?
The CAI/O Board is the main interface that allows your personal
computer to communicate with the outside world as well as other
peripherals. No soldering or computer modification is required to
install the CAI/O board. Just plug it into the Sinclair's expansion
port. The CAI/O board features:
Serial RS-232 Input/Output Port—RS-232 with hand shak-
ing enables your Sinclair to communicate with other computers,
printers, and serial devices. Simple program commands allow you to
set baud rates from 110 to 9600. It's compatible with modems that
allow you to interface your ZX80-81 with computer networks, such as
THE SOURCES®. Full details are available from CAI. The serial port
can also be configured to operate current loop devices, such as tele-
types, etc.
Parallel I/O (3 Ports)— You can design circuits to light lamps,
control household appliances, power relays, run parallel printers, and
A/D converters.
Printer Port, Tape Port, and Memory Expansion Port—
These ports are on the CAI/O board to serve as the main interface
ports for other peripherals.
$ ri 9 95 When Purchased $ 69 95 When Purchased With
Separately Additional CAI Peripherals
WIDGIPRINT ? Printer
The WIDGIPRINT is a low cost, dependable 32 column thermal
printer that prints Sinclair's alpha-numerics, graphics, and inverse
characters on 3.2" wide paper (readily available through CAI at $1.95
per 137' roll). The printer prints 190 words per minute, black on
white (so it's easy to copy). It prints in three different program modes:
List—Lists the present program in memory.
Print— Will print script, variables, string variables, etc. from
within a program.
Screen Dump-— This print mode allows present information on
the TV screen to be dumped to the printer. $99 95
"
WIDGITAPE®
The WIDGITAPE system is a
stringy-floppy mass storage device that provides
much of the versatility of a floppy disk at a fraction of the
cost! The WIDGITAPE uses standard, readily available endless loop
cassette tapes (available from CAI at $2.95 per tape—tape lengths
from 30 seconds to 6 minutes). Each minute of tape allows you to store
up to 5.5K. WIDGITAPE functions are computer controlled. There’s
no need to operate the tape system manually. Program functions
include:
File Directory — WIDGITAPE has its own file directory which
can be viewed on the screen. |
Read/Write—WIDGITAPE has the ability to read or write
data files during a program run.
File Extending and Modifying— Variables can be brought into
memory from the WIDGITAPE while a program is running and then
summed with other variables already in memory. These new variables
can then be written back into memory, printed, viewed $99 95
on the screen . .. or all three!
Additional Peripherals From CAI
$ 1 2995 Phone Modem $ 1 1 995 64К Метогу
Expansion
Programs Available from CAI
$1495 kons 7955. a, $995 Mh, 995:
Finance Tutorial Bang
CAI Peripherals nd а
АП CAI peripherals come with complete instruction manuals,
schematics, and a 30 day unconditional replacement warranty. Prices
are subject to change without notice.
СЕСЕ ТЕСТЕ
Orders accepted by phone or mail. Quantit Description Unit Price Total
For mail orders, send check, money [ — ^ |CAL/OBeard | (SeePrice) | |
order, VISA or MASTERCARD [| — . [WIDGIPRINT| $9995 | |
numbers. Foreign orders must be | — [WwiDGITAPE | $9995 | |
made in U.S. currency. O QOIHER. | 1
[SUBTOTAL] — | |] Z .J— | |.
б
Shipping and Handling
4% Sales Tax (Michigan Residents Only)
TOTAL
CAI Instruments, Inc. SHIPPING AND HANDLING CHARGES
P.O. Box 2032
Midland, MI 48640
Phone: (317)835.6]45. MasterCard Visa
Office Hours: Exp. Date
9:00 a.m. — 4:30 p.m. Name
Evening Hours (Technical
Information) Address
6:00 p.m.—8:30 p.m. ||: UNE.
Within U.S. $5.00 Outside U.S. — F.O.B. Midland, MI
8K ROM
Bercenptions
David B. Ornstein
The ZX81 Parser
and User-Defined
Commands
In this issue we begin a series of articles
which will describe parsing, the ZX81’s
parser, and user-defined commands. Par-
sing is the process used by a computer
system to extract the syntactic and semantic
elements of a user’s program. These
elements, once isolated, are either acted
upon directly or stored in a data structure
(or two) for later examination. In the Z X81,
and all other computers, it is the parser
that is responsible for a) syntax checking,
and b) execution of a program. It is one
of the most important elements of any
system designed to execute a language.
The Parsing Steps
When a parser is called to look at a line
or a series of lines, it must perform many
steps. An overview of these is as follows:
A) Let IP be a pointer to the first
character to be looked-at. The character
is the first one in the line to be syntax-
checked/executed.
B) Let CCHAR be the character stored
at location IP.
C) Process CCHAR according to the
current context.
D) Increment IP.
E) If IP does not point to an End-Of-
Line (EOL) character, go back to step B.
Let us now take a look at these steps.
Before entry into the "SCANNING-LOOP,"
which ranges from steps B to E, inclusive,
the parser sets up a pointer to the first
character to be looked-at. This pointer,
called the Interpreter Pointer, is given
the label IP. Step B fetches the next
character to be looked-at. The next step,
14
C, is the most important one and will be
discussed further in the next issue of
SYNC.
Step D increments the IP. In most
systems line elements are stored in con-
tiguous memory locations, so the action
performed in step D is actually an incre-
ment, i.e., IP=IP+1. To state the operation
more correctly, we should say: D) Point
IP to the next character to be interpreted.
Step E is very straight forward. It is,
conceptually, a test to see if we have
looked through the whole line yet. It is
implemented by a compare or a series of
compares with the set of legal line-end
markers.
RST 0018 GET-CH: LD HL, (CH-ADD)
LD A, HL)
OO1C TEST-SF: AND à
КЕТ М7
МОР
NOF
CALL CH-ADD+1
JR TEST-SF
RST 0020 NEXT-CH:
be called by the code responsible for line
execution. These routines are labeled
“GET-CURRENT-CHARACTER” and
“GET-NEXT-CHARACTER.” They are
called by way of the RST (ReSTart)
instructions: RST 18 and RST 20. The
RST instruction is theoretically a CALL
instruction, but it has two advantages.
The first is that it is a single byte long.
The address of the routine to CALL is
implicitly specified in the instruction byte
itself. saving the two bytes. required by a
CALL, which specify the subroutine ad-
dress. With an RST. the address of the
subroutine is calculated by taking the lowest
three bits from the instruction and multi-
plying them by eight. This yields: RST 0,
RST 98, RST 10, RST 18, RST 20... RST
38 (all the addresses are in hex). RSTs are
used for the most commonly needed/ac-
cessed routines.
Listing 1: The RST 18 and RST 20 Routines.
:; The "GET-CURRENT-CHAR" routine.
; Get the char into А.
: This instruction will test to see if
character in А is a space (i.e., 0).
It will set Z if it is a space.
It will set NZ if it is not.
; Return if it is not a space.
; Fadding.
; Fadding.
Increment CH-ADD.
ч Go back to OO1C.
Listing 2: The CH-ADD +1 Routine.
0049 CHADD+1: LD HL, (CH-ADD)
OQO4QC | CURSOR-SO: INC HL
QOA4D TEMF-FTR: LD (CH-ADD) ,HL
LD A, (HL)
CF CURSOR
RET NZ
JR CURSOR-SO
; the "Bump CH-ADD" routine.
; bump it.
; STore it.
; Get the char.
; Compare it with CURSOR (7FHh).
If it is not a CURSOR, then return
If it is, then go back, and get
another character to check.
The RST 18 and RST 20 Instructions
The ZX81’s parser follows this basic
outline, but it is structured a bit differently.
The process used by the ZX81 to “get”
characters involves two interconnected
routines that are subroutines which can
The second advantage of using RSTs
as opposed to CALLs is that the RST
instruction is faster. This stems from the
fact that the RST does not have to make
two extra memory accesses to find out
where to send the processor since this
SYNC Magazine
ES
address is specified in the instruction
itself.
The RST 18 and RST 20 routines are
shown in Listing 1. They use an auxiliary
routine called СН-Арр +1, shown in
Listing 2, to move CH-ADD along to the
next character. The operation performed
by this routine is basically analogous to
the operation performed in step D above.
It is also responsible for a secondary task,
namely, skipping any CURSOR characters.
The CH-ADD pointer is a system variable
and is used as the Interpreter Pointer in
the 8К ROM.
In reviewing the routines (RST 18 and
RST 20), we must note that they simply
refuse to return a space character. This is
why you can put spaces almost anywhere
in a program without having them affect
the execution of your program. The only
restriction on the space-insertion rule is
that all spaces inside quotation marks,
i.e., valid string constants, are significant.
The system facilitates this by having a
separate routine to parse string constants.
These RSTs provide the base of the
parser. Next time I will dive head on into
the main parser routines.
Bibliography
Two bibliographic references are impor-
tant for this article:
The ZX61 Monitor Listing, Part A by
Ian Logan. Melbourne House, 1981.
Writing Interactive Compilers and In-
terpreters by P. J. Brown. New York:
John Wiley & Sons. 1979.
I wish to express special thanks to Dr.
Logan for writing The ZXG$1 Monitor
Listing. The labels used in this article are
from this work.
May/June 1982
More on the 16K
RAM Pack Schematic
I have received many calls and letters
from people who want to build the RAM
expansion on their own. The biggest
problem with this is that some of the
components listed in the power supply
section are U.K. parts and are not available
in the U.S. I have not been able to find
cross-references for several, including the
ZTX750 transistor. My suggestion to those
who want to build the memory expansion
is that you use the +5-volt-only version of
the 4116 dynamic memory. This way the
power converter section, and all the
headaches that go along with it, can be
eliminated.
As noted in SYNC 2:1, the 16K RAM
pack schematic published in SYNC 1:5
needed some corrections and clarifications.
A further correction should be made: on
each 4116 (ICs 8-15) two pin 7’s are shown.
The one going to -5 volts should be shown
as pin number 1.
Addenda to
“The ZX80/81 Video
Display System”
In the discussion of “The ZX80/81 Video
Display System” in SYNC 2:1, one further
aspect of the Display System (more spe-
cifically, the Display File) must be included.
As you will note in the column, each of
the 24 records in the display file is termin-
ated by a NEWLINE (ENTER) character
(76h). This is interpreted as a HALT
instruction by the Z80 microprocessor. If
a line in the display file is shorter than 32
characters, the system will reach and read
the suffix NEWLINE.
Meanwhile, the NOP-Forcing logic has
been happily forcing NOPs onto the data
bus, overriding whatever happened to be
coming from RAM. (Whenever the Z80
is in the middle of a display sequence and
D6 from the RAM is low, the Force logic
is enabled.) Whenever a character is read
from the RAM, whose D6 bit is low, the
NOP-Force logic is disabled, and the
instruction (byte) read will be allowed to
pass through to the Z80 for execution.
In the case of the record-terminating
HALT instruction, this is the desired effect.
The 280 will enter a HALT loop (NOPs),
not exiting from this loop until the R
(Refresh) register times out and interrupts
the system. Herein lies the problem with
placing some special characters (those with
D6 high)—usually machine code—into
REM statements. If the character has the
"killer-bit" set, it will pass through the
NOP-Force logic and enter the Z80 for
execution. This can have disasterous
results.
Until next time, same relativistic time
period, same non-Euclidian universe. Mg
** Forthe 1k ZX-81
M «FULLY INTERACTIVE GRAPHICS!
JM] «DOZENS OF PLAY LEVELS! X
" {ЛД «FOR 1, 2, OR MORE!
7.75] -HOURS OF FUN! P
“Ih Sc] ENTIRELY IN BASIC! x
PROGRAM WITH COMPLETE
INSTRUCTIONS AND
DOCUMENTATION—ONLY $3.00
ABOVE WITH CASSETTE—$5.00
ТТ Flint
Data Systems
146-22 Delaware Avenue
Flushing, New York 11355
CUSTOM ZX
EDGE-BD.
CONNECTOR
s.t. only $7.95
8K ROM
IK RAM
An Introduction to
Expression Evaluation
In the Sinclair 8К ROM program of the
ZX80/81 the "expression evaluator” is to
be found at OF55-111Bh (improved 8K
КОМ) and forms an essential part of the
program. A study of the fundamental parts
of the "expression evaluator" can be very
useful as it enables Basic programmers to
understand many of the limitations and
quirks of the Sinclair Basic.
Some Definitions
First we must make some definitions:
Expression. An expression is any com-
bination of numbers, variables, strings,
functions, and operators that can be
combined to form the operand of a com-
mand. For example:
1) 2—a simple number.
2) 2*A —a number and a variable linked
by a binary operator.
3) CHR$ 32— a function and a number.
4) CHRS(T+A-26*INT ((T+A)+38)
—my favorite complex expression. |
Function. Function includes the expected
keywords ABS, СНК, INT, etc., but do
not ignore the two special functions NOT
and -. NOT is a function that gives an
"opposite logical result," i.e., NOT 3 gives
0 as the number 3 is logically "true." When
- is used as a "leading minus,” it gives an
"opposite numeric result," i.e., -3 should
be taken аѕ“ + "subjected to the function-.
Binary operators. In the 8&K ROM
program the following binary operators
are allowed: **, *,/, +, -, =,<=,›=‹ 5
AND, OR. In each case a binary operator
is required to be between two operands,
which may in turn be "subexpressions" in
their own right.
Unary operators. There are three special
operators in this group: RND, PI, and
INKEY'S. In one sense they are not oper-
ators at all and they can, if preferred, be
considered as "fixed variables."
Dr. lan S. Logan, 24 Nurses Lane, Skellingthorpe,
Lincoln LN6 OTT, U.K.
16
lan Logan
Priority. All of the binary operators
and functions have associated with them
a "priority" that is used to determine the
"order of the operations." Hence, 2 4*2
is 14 rather than 18 since multiplication
has the priority value of 8 and addition a
value of 6.
Last value. Last value is, perhaps, a
difficult point to understand but the Sinclair
8K ROM program evaluates expressions
to produce a "last value” on the “calculator
stack." For a numeric result the "last value”
is a 5 byte floating-point number and for
a string result a set of 5 parameters that
define the string.
The Actual “Expression Evaluator”
The object of the "evaluator" is to
produce a single "last value" that corres-
ponds to the expression that it has been
given. For instance, if the expression is a
simple one such as 2, then the "last value"
produced will be the number 2 in binary
floating-point form, and it will be the
topmost number on the calculator stack.
However, if the expression is 2 4*3, then
the "last value" is to be 14 and this has to
be "evaluated" by "scanning" the expression
from left to right and saving the part-
answers as they occur and the operations
to be performed until the point is reached
when the "saved" answers and operations
have to be used.
A Simple Evaluation
A Basic line such as 10 PRINT 2 appears
to be a very simple line but its interpretation
by the 8K ROM program involves an almost
unbelievable amount of work. Initially the
interpreter has to locate line 10, then
scan the line for its first command and
jump to that command's routine. In this
example, the jump is to the PRINT
COMMAND ROUTINE at OACFh. In this
routine a call is made to the "expression
evaluator" so as to create a "last value"
from the operand of the PRINT command,
i.e., the 2, and then a call is made to
PRINT-STK, the routine that prints the
correct representation of the "last value"
on the TV display. A check is then made
to see if the line is finished, which in this
case it is, before the next line is
considered.
It can be seen in the above description
that the use of the "expression evaluator"
is essential and an outline view of this
routine will now be given.
1) Put a zero on the machine stack as a
"starting priority marker."
2) See if the first character of the
expression is a "unary operator." No.
3) Is the character alphanumeric? Yes.
So jump accordingly.
4) Is it a digit? Yes. So jump accord-
ingly.
5) Transfer the invisible binary repre-
sentation of the number 2 to the calculator
stack as a "last value" (remember the line
10 PRINT 2 has its binary representation
in 6 bytes between the 2 and the
NEWLINE).
6) Fetch the next character in the line.
It isa NEWLINE.
7) Jump forward to the “evaluation loop”
if it is not an operator. At this point the
“last operation” code is zero.
8) In the “loop” an exit is made as the
“last operation” code is the same as the
“starting priority marker.” Both are zero.
Note the successful outcome! The “last
value” on the calculator stack is the floating-
point representation of 2 as was required.
SYNC Magazine
2-
The Sinclair ZX-81 is innovative and powerful. Now
there's a magazine to help you get the most out of it.
Thousands of smart consumers have
picked the Sinclair ZX-81 as their personal
computer. And, unlike many of today's bar-
gains, this one can really give you your
money's worth. Or it can turn into nothing but
an expensive calculator. A Sinclair owner can
putter along in first gear, missing the power
and potential of the ZX-81, or he can shift into
high, pushing the ZX-81 beyond imaginable
limits. That's why thousands of smart con-
sumers have picked SYNC as their computer
magazine.
Right on Target
The ZX-81 is unique. There is nothing like it,
nothing that comes close to packing so much
power and versatility into one small package.
Some computer magazines might publish one
or two articles about the Sinclair each year,
some never mention it. SYNC covers only the
ZX-81 and its predecessor, the ZX-80. If an
article doesn't apply to the Sinclair, if a game
doesn't work on the Sinclair, you won't see it in
SYNC. Our staff and contributors are Sinclair
owners. Some started out as experts. Others
started as readers and became experts.
How can a whole magazine find enough
material about one small computer? By cover-
ing everything from hardware to software, by
offering both new applications and old tricks
with a new twist. Did you know that the Sin-
clair can generate music? Our readers found
that out when we published a program and
article showing how to do it, and explaining
why it works. Do you know where to buy soft-
ware, books, or peripherals for the ZX-81? We
list resources in every issue, along with ad-
dresses for user's groups so you can get in
touch with other Sinclair owners. But knowing
where to buy is not enough by a long shot. And
that's where we can really help you out.
Hard-Hitting Evaluations
As a Sinclair owner, you know the value of a
dollar. But it isn't always easy to know the
value of all the extras on the market. Face it,
some programs are great, some aren't worth
the tape they're stored on. We receive every
new product for the Sinclair as soon as it is
available, often months before it is on the
market. And those products are reviewed and
tested with a very critical eye. If an adver-
tiser doesn't care for this sort of honesty, we
don't care for his business. We haven't gotten
where we are by patting backs, we've gotten
there by giving the Sinclair owner the informa-
tion he needs. But there's more to SYNC than
just reviews.
Applications and Explanations
The ZX-81 comes with a very powerful
Basic language. But power doesn't imply diffi-
culty. We show you how to get the most from
your computer, whether you want to write a
game or keep track of a mailing list. And we
don't stop with Basic. The Sinclair can be
programmed in machine language. For the
newcomer, we have articles explaining ma-
chine language from the ground up. For the
old pro (and anyone who has been reading
SYNC for a while will soon find himself in this
category) we have sophisticated routines for
animation, data handling, and every other
aspect of programming.
Don't run
your computer
in first gear.
Topping if off, hardware articles cover every-
thing from attaching a full-size keyboard to
adding a tape monitor. Whether you are inter-
ested in software or soldering, we'll keep you
busy. But we also know how to have fun.
Games of Every Kind
If you like to shoot down attacking space-
ships, fight monsters in a dungeon, or land on
the moon, we've got what you want. Every
issue of SYNC is packed with games. There
are classic computer games converted for the
Sinclair, and new games designed specifically
to exploit the capabilities of the ZX-81. Our
contributors keep getting better and better,
but that's not surprising, because the games
come complete with tips and explanations.
Programming tricks and special techniques
are fully explained, so you can use them in
your own games. We don't believe in keeping
secrets.
SYNC is a Creative Computing publication.
Creative Computing is the number 1 maga-
zine of software and applications with over
150,000 circulation. The two most popular
computer games books in the world, Basic
Computer Games and More Basic Computer
Games (combined sales over 500,000) are
published by Creative Computing. Creative
Computing Software manufactures over 150
software packages for six different personal
computers.
| Order SYNC Today
| and Save Money!
[n шшш |
Soc
| P.O. Box 789-M
| Morristown, N.J. 07960
|
|
|
ҮЕ { Send me SYNC for the |
| а term checked: |
| [ ] One year (6 issues) $12.97 —1 save
| 19%! |
| 0 Two years (12 issues) $22.97— |
| | save 28%! |
| Г] Three years (18 issues) $31.97— |
| save 33%! |
Savings based on full one-year sub- |
scription price of $16.
|
|
| CHECK ONE:
| [ ] Payment enclosed.
| П] Bill me later.
| Mr.
|
|
|
|
Mrs.
Ms.
(please print full name)
| City
| State Zip
| Foreign postage: Add $3 a year for Canada. Add
$5 a year (cash payment in U.S. currency only)
for all other countries outside U.S. and posses-
sions. Please allow 60 to 90 days for delivery of ;
oec MEN |
|
|
|
|
|
|
Address | | | Apt . |
|
|
|
|
|
The Next Stage
Let us go through this outline view of
the work of the expression evaluator again,
but this time the expression is 2c 4*3— a
seemingly innocent expression that is a
great deal more complex than appears at
first sight!
1) Put the "starting priority marker" of
zero on the machine stack.
2) Perform the steps outlined above in
2-5 that result in a "last value" of "2"
going onto the calculator stack.
3) Fetch the next character: a +.
4) This time it is an operator so prepare
the "literal." OF, and the priority of 06 for
the operation of addition.
5) Enter the "evaluation loop" and as
the "present priority" is greater than the
"last priority" (that zero) put the "present
literal" and "present priority" onto the
machine stack on top of the "last literal
and priority" (that zero again).
6) Now fetch the next character, the 4,
and go back to step 2 again with a different
operand. This time a "last value" of 4
goes on the calculator stack on top of the
2. The "literal." 04, and the corresponding
priority of 08 for multiplication are pre-
pared and the "evaluation loop" entered
once again.
ADD ON MEMORY
FOR ZX
16K memory assembled and
tested. No extra power supply
needed. 90 day warranty on
parts and labor.
$49.95 POSTPAID
Check or money order only.
California residents add 6%.
KB ENTERPRISES
8211 VALDOSTA AVE.
SAN DIEGO, CALIFORNIA
92126
RAM EXPANSION
ADD ON RAM FOR ZX80; 2K INCREMENTS UP TO
16K. COMPLETE. SCHEMATIC, PARTS LIST.
SOURCES, AND HOW-TO FOR $3.95. APPR
COST FOR 2K, $20 FOR THE FIRST 2K: $13.50
FOR EACH ADDITIONAL 2K; NO ADDITIONAL
POWER SUPPLY NEEDED. SEND $3.95 WITH
SASE TO:
DENNIS WEBER. BOX 742
TROUTMANN, N.C. 28166
18
7) Here the “present priority” is greater
than the “last priority,” i.e, 08 is greater
than 06, so again the “present priority
and literal” go onto the machine stack.
(The evaluator has determined that 2 is
not to be added to 4, as the 4 is followed
by a "more binding" operator.)
8) Now fetch the next character, the 2,
and loop back to create a "last value" of
3, above the 4, and the 2.
9) Alas, the end of the expression has
been reached. The "present operator" is
zero because the present character is a
NEWLINE and the "evaluator loop" is
entered for the final time.
10) At this point the priorities are 00,
06, 08 and 00 whilst the calculator stack
holds 2, 4, and 3. These stacked values
now have to be "unstacked" and this is
done as follows: The "present priority "of
00 is less than the "last priority" of 08 so
the operation of multiplication, associated
with the "last priority." is performed
between the top two numbers of the `
calculator stack.
11) Now the priorities are 00, 06, and
00 and the stack holds 2 and 12. As the
"present priority" 00 is less than the last
priority 06, the operation of addition is
performed.
12) Now the end has been reached.
The priorities are 00 and 00 and, since
there is but one value on the calculator
stack, the required 14, the EXIT is taken.
Although the above examples have dealt
only with simple decimal numbers and
binary operators the other facilities of the
expression evaluator are managed in a
similar manner. A variable, such as A, is
evaluated to a "last value" and used
accordingly. A function such as COS is
identified and its literal and priority
prepared, and the "operation" of COSing
the "last value” is performed when required.
Note that it is part of the "calculator"
which ensures that a unary operation
replaces a "last value" with another, and
a binary operation replaces two values
with a "last value."
The "expression evaluator” also handles
the special operators RND. РЇ, and
INKEYS. Indeed there are no subroutines
for these operators but merely segments
of the "expression evaluator" deal with
them in a "straight programming" manner.
The addresses of the segments are (all
improved ROM):
RND—OF59h
PI—OF8Ch
INKEY$—OF9Dh
The Priorities
The last point we need to cover is to
correct the ZX8/ BASIC Programming
manual with regard to the “priorities” of
the various operations. They are:
Priority
Operations and Functions Decimal.
All functions
(except LEADING MINUS
and NOT) 16
жж 10
LEADING MINUS 9
i 8
- + 6
ACT 5
NOT 4
AND 3
OR 2
Demonstration Program
Our program this time is an exercise in
graphics. It is quite easy to get vehicles to
go across the screen, but it is a little more
complicated to get them appearing in stages
from the left and disappearing slowly at
the right!
Listing 1: A SYNC Delivery Van.
19 SLOW
20 LET A$="
fs ts
ae FOR L=1 TO 15
4@ FOR A=37 РЕИС та nest;
w ff ы + 2 5a
5@ PRINT AT L Sate TU ПЫЗ
Ag fALIBE TG R469. 9865
UT
Program notes
Line 20: After the " enter 32 spaces.
type in SYNC in reverse letters (hit shift
and 9 to get the graphics mode and then
type in the letters), enter the graphic on
the R key, enter 33 spaces, enter 6 reverse
spaces (get into graphics mode and hit
the space key 6 times), enter 32 spaces,
the letter О, 3 spaces, the letter О, and
33 spaces. Close with the “.
After entering the program, hit RUN
and ENTER and watch the results.
Ed. — Note that Dr. Logan s Sinclair ROM
Disassembly Parts A and Bwill provide
major assistance. They can be obtained
from several advertisers or directly from
Dr. Logan. R-
SYNC Magazine
ZX 81 AND TIMEX-SINCLAIR 1000 OWNERS
16K-549.95
64K-5149.95
16K normally sells for $80, $90, or
even $100. Now you can get this
vital tool for less than HALF the of-
ficial price. 16K transforms your ZX-
81 or Timex-Sinclair 1000 into a
powerful machine. Run Business,
Education, and Games without
running into the brick wall of “mem-
ory full.
64K is all the memory you'll ever
need. In fact, its all your computer
can handle. And at $149.95, this
isnt just the LOWEST PRICE
EVER, ANYWHERE for the ZX-81
or Timex Sinclair 1000. Its the
LOWEST PRICE FOR ANY COM-
PUTER. :
64K makes your computer more
powerful than machines costing ten
times as much.
These Memories are On-The-Shelf.
Just Waiting for your Order.
You bought a breakthrough when you spent your hardearned cash for a Sinclair computer.
The amazing power for the rock bottom price has made the Sinclair, after only a year, the best
selling computer in history. Now, you have a chance to multiply the power of that computer
without spending an arm and a leg. Мете so sure youre going to love the freedom and
possibilities of more memory that we are GUARANTEEING THESE MEMORIES FOR 90
DAYS. Money back. No Questions asked.
Dolphin Computer
P.O. Box 3046
Redwood City, CA 94064
I NEED IT NOW, RUSH ME:
(I know these RAMS's аге FULLY GUARANTEED for 90 Days)
CHECK
[ ] (Payable to Dolphin Computer) Quantity Price Total
MASTERCHARGE £
16K RAM
ESAE 64K RAM
NAME POSTAGE| $5.95
ADDRESS
OTHER PRODUCTS
YOU WOULD LIKE
TO SEE
Dolphin Computer P.O. Box 3046 Redwood City, CA 94064
Gold plated 6
fingers.
Optional
volt regg
@ Unique
decoder
circuitry
opens 8K
of memory-
mapped I/O
at addresses 8K-16K
Fastens to ZX81
00000000000
PROMPT DELIVERY:
Bare Board $30*
With connector to port
and complete documentation,
Kit $60* ........
6 connectors, 8 chips, sockets
parts needed (less volt reg).
* Add $3 ship & hndl.
Calif. res add 6% tax.
To order send check or M.O
( emputer
301 16th Ave
San Francisco, CA
n
nire
2х81 сһігрег $9
Sancti
The CHIRPER lets you enter programs
fast and accurately.
The chirp lets you hear when a key
is entered or when a shakey finger
You dont
has caused a double entry.
need to look up at the screen to
check each keys
The CHIRPER lets you hear the sound
patterns of a program while it runs.
Га
We include the listing of a program
that plays a random tune.
installs easly
There are just
Complete
ns included.
Order your CHIRPER by sending a
check or money
Audiograph Co. 3584 Leroy St.
Ann Arbor, MI, 48103. In the USA we
pay the postage. Elsewhere please
stage for Зоя first class.
=
5
C3
+
(b
=
O
(
EXPANSION BOARD
Buffered Bus/Development Board for
marketed and user built peripherals.
Offers С уеї inexpensive access to ZX80/1 hardware.
94118
Que Ee
ӨА11 lines from
, port are on bus
і &1n same order,
| @Two types of
connectors:
.l in, .156 in.
Q8 chips needed;
all parts are
standard.
Ә Connector to
port (provided).
Option to mount ZX81
uncased vertically.
Qrinest quality board
Plated thru holes,
solder mask, legend,
tin plated,
Q Many circuitry апа
mechanical options.
Ө 2х80 requires minor
circuit mod at ROM CS
Q Fits 7х80/81, MicroAce.
ontinuum
(415) 752 6294
This column will feature short programs
to show off your computer. impress your
family and friends. and tickle your imagina-
tion when SYNC arrives at your place. We
Invite your contributions. Address them
to: Try This. SYNC, 39 E. Hanover Ave..
Morris Plains. NJ 07950
4K ROM
Type in:
10 REM ZX80 and hit NEWLINE.
Then type in:
POKE 16431.587 and hit NEWLINE.
Hit NEWLINE again and watch the display.
On some TV sets adjusting the controls
will change the speed of the display.
Our thanks to:
Aaron Seeler
3460 Red Rose
Encino. CA 91436
8K ROM
ENTER the following lines:
LET R=INT (tRNDse421 +1
LET B=INT (RND #42} +1
LET C=INT {RND Z) +1
FOR 4-1 TO A STEP C
PLOT n,
PLOT ШЕ
NEXT J
сата 28
к лр Ф ду {14
е Л GU C9 бу д
kie
After you hit RUN and ENTER. watch
the results.
Our thanks to:
Bernard Bush
Rt. 2
Mansfield. MO 65704 2"
Glitchoidz
neport
Getting Loaded (2:2)
Clarifications offered by the author
include:
1) Check your tape recorder grounding;
you may have to reverse the diode.
2) Parts list: LED #276-042; diode
£276-1114.
The Game of Life Revisited (2:1)
The author has supplied the following
changes which should make both versions
work.
p. 20, col. 3:
LET A=USR(16427)
p. 21, Fig, 3.
1) Hex address column: the instructions
after 40FD repeat Fig. 2.
2) Add the following instructions:
40AB: CD F9 40 CALL TEST
40AE: DD 7E 22 LD A, (IX--34)
40B1 : CD F9 40 CALL TEST
40B4 : DD 7E 00 LD A. (1X)
3) Correct the following instructions:
40DF: DD 36 00 00 LD (IX).00
40E5: DD 36 0080 CELL: LD (IX).128
p. 25, Fig. 7:
4115: Correct hex format to 28 OE
Already noted in 2:2:
p. 21, Larger Field:
3) POKE 16435.20
p. 21, Fig. 5:
240 IF A <1 OR A 2300...
MicroAce Video Upgrade(2:1). p. 27.
The author has supplied the following
additional information:
1) Ist col., last sentence: pin 2 should
be "pin 1."
2) Several readers have wondered about
connection "G" on the board. The in-
structions can be interpreted to indicate
a connection between it and both IC 21
pin 1 and the base resistor of the transistor
buffer used on VHF modulator equipped
Z X80 computers. Connect G as follows:
a) UHF modulators: to IC 21 pin 1.
b) VHF modulators: to the base resistor
of the buffer only. a”
SYNC Magazine
ZX81 SOFTWARE
THE CHECK BOOK
Get rid of the draw full of old checks "M" |
and end the monthly hassle of checkbook balancing with THE .. A scientific approach to solving the
CHECK BOOK. This personal or business checking account Cube. This program allows you to set up and move
program stores up to 250 transactions on a single program. Over the Cube in any configuration, gives you a choice of
3600 transactions can be permanently stored on a single cassette. displays -- two dimensional, three dimensional and
THE CHECK BOOK provides all transaction information and memos flat -- and remembers every move.
and will sort by date, latest transactions or alphabetically. 16K $1 4.95
16K $14.95
f,
e
(^
CUBE
LOAN/MORTGAGE
The LOAN/MORTGAGE PROGRAM is a fast and flexible
calculation program, useful as a tool when contemplating a major
purchase. It determines compound interest payments enabling you
to investigate the details of a fixed rate mortgage or many other
types of loans (i.e. condominiums, cooperative apartments, car,
boat, home improvements or college.) It is also useful in developing
payment schedules for all types of financial planning (such as
owner financing of real estate).
The program has a menu with seven items: 1.) Single Payment
Data, 2.) Single Year Data. 3.) Profile By Month, 4.) Profile By Year, 5.)
Interest/Principal Plot, 6.) New Data, 7.) End (To Save).
PLUS BOOKS
The Complete 2Х81 BASIC Course
Not Only 30 Programs
VU-CALC
Turn your ZX81 into an immensely
powerful analysis chart. VU-CALC constructs, generates and
calculates large tables for such diverse applications as financial
analysis, budget sheets and projections. Using a choice of grids and
formulas you can quickly and easily set up an entire business or
household financial management program.
клр 16K $19.95
BACKGAMMON
$35.00
This classic game of skill and luck has . |
been transformed into an exciting ZX81 game using fast and for Sinclair 2X81: 1K $14.95
efficient machine code and detailed graphics. Backgammon has a -
choice of four levels of skill and features screen displayed rolling Machine Language ;
diceand doubling cube. 16K $14.95 Programming Made Simple $19.95
ZX81 ROM Disassembly $14.95
Understanding Your ZX81 ROM $19.95
PLUS MANY MORE ZX81 PROGRAMS!
WRITE FOR FREE CATALOG
SEND CHECK OR MONEY ORDER TO:
Please send me: SOFTSYNE, INL.
— copies of CUBE @ $14.95 ea
... Copies of BACKGAMMON @ $14.95 ea PO Box 480, Murray Hill Station, New York, NY. 10156
— copies of THE CHECK BOOK @ $14.95 ea
— Copies ofLOAN/MORTGAGE @ $14.95 ea Bl NAME
. copies of VU-CALC @ $19.95 ea
ADDRESS
Add $1.50 shipping and handling. CITY
New York residents add sales tax. STATE/ZIP
NOW, THE BESTSELLING
HOME COMPUTER PACKAGE
IS AVAILABLE FOR THE ZX81
BILLBOARD
Your message scrolls
continuously ' across
the screen in giant let-
ters. Perfect for dis-
plays and exhibits.
Messages are easily
changed. Press “S” to
SAVE a message on
tape. When reloaded, it
comes up running.
CHECKBOOK BALANCER
Keep a running tabula-
tion of your bank ac-
count. Reconciles bank
statement to check-
book balance and dis-
play both. Stores and
displays up to twenty
uncleared transac-
tions, (more on larger
Why is THE HOME COMPUTER PACKAGE a bestseller? Judge for yourself:
COMPOSER
A color keyboard overlay turns your com-
puter into a multi-octave musical instru-
ment. Broadcast music to nearby radios
as you play — or play through your own
sound system — or record directly onto
tape. Stores notes as you play, ready for
immediate playback. EDIT keys allow
easy changes. Single-step forward or
backward through your piece. SPECIAL
EFFECTS keys let you create laser blasts
and arcade noises.
ETCH-A-SCHEEN
Easily paint text and graphics over most of
the screen. Move forward, backward, up
or down, leaving behind text, graphics,
and inverse characters. Keys REPEAT
while held down. Your drawing can be
stored on tape... and immediately ap-
pears when reloaded. Perfect for desig-
ning screen logos or just doodling.
Pm
memories).
The complete ZX81 HOME COMPUTER PACKAGE, including cassette
of four programs, manual, guide cards, screen display sheet, musical
score sheet, and TWO FULL-COLOR KEYBOARD OVERLAYS, is just
$9.95. Shipping and handling included! $9.95
From: LAMO-LEM LABORATORIES, CODE 208, BOX 2382, LA JOLLA, CA 92038
The ZX81 Home Computer Package runs on
all ZX81's, (1К memory or more). Also on x
ZX80's with optional 8K ROM. Enclose check [
The ZX81 Home Computer Package, ($9.95)
similar items:
The ZX80 Home Computer Package
(for standard 4K ROM), ($9.95)
or money-order with or ders. No postage, han-
dling, or sales tax. Foreign orders add 3096
for airmail. All packages carry ten day re-
fund-or-replace guarantee.
The Timex Sinclair 1000
Home Computer Package, ($9.95)
also available: Our catalog, with screen display and coding sheets, is free!
ZX81 Classics (with K-Trek, Life,
Lunar Lander, Mastermind), ($9.95) NAME
ZX81 1K Disassembler, ($9.95) ADDRESS
CITY
STATE/ZIP
4K ROM 1K RAM
8KROM 16K RAM
Two Switch Human Interface for the
Communicative Impaired
Charles Dorcey, Jr.
Ed.—A WORD OF CAUTION: Any hard-
ware project that involves modifications
to your computer must be approached
with extreme caution. SYNC cannot be
responsible for problems that may arise
from attempting hardware projects.
Obviously, any damage done to the com-
puter can be costly in time and money for
repairs or even replacement.
An Experiment
Let's try an experiment. Type in a few
lines of the program in Figure 6, and
change channels on your TV. Contemplate
the result. Of course, we know that nothing
is wrong with the computer; perhaps the
lines are still somewhat visible. We suspect
that it is still responding to its keyboard,
but the responses have become “lost”
somewhere along the way back to you. It
is probably not worth the effort to use the
computer without a readable display. Most
of us would just shut it off.
Suppose now that you take the com-
puter's point of view. You know that you
are functioning as always, but that you
cannot get your operator to read and
respond to your output. Imagine now asa
person that due to some birth defect,
illness, or accident your messages are lost
on their way out. You know that you are
still as intelligent and creative as ever,
but does anyone else? Do they shut you
off because your message is not getting
through to them?
This article is intended to use the
ZX80/81 to take a step toward enhancing
the communicative potential of such
people. Minimum physical coordination
is required to display messages on the
monitor which could be placed, for ex-
ample, at a bedside visible to both the
user and visitor. Granted that it is crude
and inefficient, but it is also quick and
relatively inexpensive to build (even if
you have to buy a new computer to
dedicate just to this task). Hopefully, the
article will stimulate a more elaborate
system design.
Charles Dorcey, Jr. 912 Park Hill Rd., Laurel, MD
20707. Adapted to 8K ROM by James Grosjean.
May/June 1982
Program Usage
The program will usually display three
rows of characters on the screen at any
time: the upper alphabet (UA) row, the
lower alphabet (LA) row, and the message
row, which will be empty at first. The
program allows the user to select letters
from the alphabet rows for display in the
message row. Three special characters
are also included: 1) the inverse-space
graphic to put in a blank space; 2) the
inverse less-than sign to delete the last
character entered; 3) the British pound
sign to delete the entire message.
Suppose the user is thirsty and wants to
call for “WATER.” Since "W" is found in
the LA row when he begins, he pushes
NEWLINE. When the display reappears,
the alphabet rows are half as long. Now
the UA row shows B through O; LA, P
through Z. "W" is still in the LA row so
he pushes NEWLINE again. The display
reappears as shown in Figure 1 with UA
holding P-V and LA holding W-Z. The
user again chooses the lower row, and the
display will look like Figure 2. Now “W”
has moved to the UA row, so the user
must type U and NEWLINE. Figure 3
shows the new display, and U and NEW-
LINE are again entered. Since there is
only one letter in each row now, one
more choice is needed. U and NEWLINE
are entered for the third time and the
“W” is put into the message line. The
screen display will put the whole alphabet
back for the next choice. The sequence
for choosing “А” is: U, NEWLINE, NEW-
LINE, NEWLINE, NEWLINE, NEWLINE.
Since there are 54 characters in our
"alphabet," any letter can be selected with
five or six choices.
Input Modifications
Since minimal control of hands and
fingers often accompanies communicative
disorders, some users may not be able to
work with the standard ZX80/81 keyboard.
. For some a simple sheet of rigid material,
e.g., perfboard, with finger-sized holes over
the U and NEWLINE keys may be ade-
quate. For others an external switch
actuated by finger, arm, foot, or head
motion will provide the necessary input
control. Sound, proximity, and electro-
myographic sensing interfaces are beyond
the scope of this article but may have
potential.
Figure 1
PORSTUV
WXY Z
Figure 2
WX
YZ
Figure 3
W
X
23
GAMES PACKS
for 1K ZX81 & 8K ROM ZX80. Eight
fantastic programs for the
unexpanded ZX81, including
DIGICLOCK, 9-LIVES, REACTION TEST,
GOBBLER and PATTERNS.
$9.95 ($12.95 in Canada)
2
for 16K ZX81. Four programs writ-
ten in BASIC for the expanded
ZX81. PONTOON, FRUIT
MACHINE, OXO, and BIO— RHYTHMS.
$9.95 ($12.95 in Canada)
3 Two programs for expanded ZX81
to keep you entertained for hours!
3-D OXO is written in machine code and is
hard to beat. MARS RESCUE is a com-
pulsive adventure game.
for 16K ZX81 and 8K ROM ZX80.
$9.95 ($12.95 in Canada)
for 16K ZX81. ZOMBIES — escape
as they chase you around Zombie
Island. Lure them into the pits, but
don't fall in yourself. MOUNT MAYHEM —
can you reach the 20,000 foot summit?
Look out for Yetis and other hazards!
$9.95 ($12.95 in Canada)
DILTATOR
Fantastic new adventure game for 16K (or
greater) ZX81. You have just become 129th
ruler of Ritimba with a single goal in mind:
take full advantage of the situation for
your own good. You have to deal with a
handful of factions: unruly army,
downtrodden peasants — but you have
the secret police on your side.
$14.95 ($17.95 in Canada)
CONSTELLATION
Turn your ZX81 into a telescope with this
amazing 16K program. Produces a simula-
tion of the night sky as seen from any
position on Earth at any chosen time this
century. You may point your telescope in
any direction, move it up, down, left or
right, zoom in or out. Stars may be
displayed by magnitude or constellation
$14.95 ($19.95 in Canada)
CHESS
A challenging chess programme, written
in machine language, designed to operate
in the ZX81 fast mode. ZX Chess allows
you to select from 6 levels of play, choose
either black or white, and enables castling
and en passant moves. Unique ‘‘self-
running" feature: you start the tape and
when the chess board appears on the
screen, start your game.
ZX CHESS! $24.95 ($29.95 in Canada)
ZXDB
Machine Code Disauembler
Machine Code Assembler —
S1208TORE- ELECTRO
ZXAS Assembler
Now you can use the full power of the Z80
microprocessor without having to
laboriously POKE in instruction codes.
This full specification Z80 assembler
assembles all the standard Zilog
mnemonics, which are simply written into
REM statements (more than one per line is
allowed) within your BASIC program.
When assembled, the assembly listings,
together with assembled codes and
adresses, are displayed on the screen.
The assembled code is executed by USR.
The program occupies 5K, is situated at
the top of the memory, and is protected
from overwriting. This means that ZXAS
may be used in conjunction with ZXDB
(see below), providing an extremely power-
ful machine code system normally only
found on very expensive computers.
The program is available for both the ZX81
and the 8K ROM ZX80, and in both cases,
the 16K RAM pack is required. Despite the
low price, ZXAS is a FULL-
SPECIFICATION ássembler, and is a must
for all serious ZX users. Full documenta-
tion on how to use the assembler (in-
ied a list of the mnemonics) is sup-
БО, de ($12.95 in Canada)
ZXD Debugger
The perfect complement to the ZXAS
assembler, ZXDB is a complete combined
machine code disassembler and debugg-
ing program. Like ZXAS, it is itself written
in machine code for compactness, and
may be used in conjunction with ZXAS,
still leaving about 9K of memory for your
Own program.
Apart from the DIASSEMBLER, the pro-
gram has features including SINGLE
STEP, BLOCK SEARCH, TRANSFER AND
FILL, HEX LOADER, REGISTER DISPLAY
and more, all of which are executed by
simple one key commands from the
keyboard. All in all, an extremely powerful
programming aid, 'well worth the money
for the disassembler alone!
$9.95 ($12.95 in Canada)
STAR TREK
The classic computer game in which you
trek across the galaxy in search of KI-
ingons to zap with your phasers and
photon torpedoes. You have long and
short range scanners to help you find
them, Starbases to refuel your ship at and,
of course, various witty comments from
the crew. 16K.
$9.95 ($12.95 in Canada)
Disassembler/
VU-LALL
VU-CALC. Constructs, generates, and
calculates large tables for analysis,
budget sheets and projections. Up to 26
columns of figures or data can be entered,
plus user definable formulae capable of
relating any one or more position in the
table to any other defined position.
$24.95 ($29.95 in Canada)
MULT IF IL El e
PROGRAM (C) 1981 GUG-EYTE
SET UP pate FARAHET ERS
CREATE LI
MODIFY ILE
SERRCH FOR FILE
1
2
3
4
5
6
Y
8
LOCK
SRUE FILES ON TAPE
ENTER YOUR CHOICE (1-3)
MULTIFILE
Data Storage System
An amazingly versatile multi-purpose fil-
ing system for the 16K ZX81. The program
is menu-driven, and number, size and
headings of files are user-definable. Both
string and numerical files are catered for.
Files may be created, modified, replaced,
and searched, and are protected by an in-
genious foolproof security system. Out-
put to the ZX printer is also provided. The
program comes on cassette, together with
three quality data cassettes for file
storage, and comprehensive documenta-
tion, describing a host of applications for
both business and personal use. Supplied
in an attractive storage case. If your ZX81
is bored with playing games, then this pro-
gram will give it plenty to think about!
$29.95 ($39.95 in Canada)
VIEWTEXT
A ten page information display system for
the 16K ZX81. Can display both text and
graphics in any sequence with variable
speed. Many applications including shop
window displays, educations, animation,
etc.
$14.95 ($17.95 in Canada)
Gladstone Electronics, 901 Furhmann Blvd., Buffalo, N.Y. 14203 (716) 849-0735
Atlast, a comprehensive text for your Sinclair ZX 81!
The complete BASIC Course is a manual which will
immediately become an indispensible work of
reference for all your ZX 81 programming.
Whether you have never done any programming or
whether you are an experienced microcomputer
user, the Complete BASIC Course will provide itself
to you as an invaluable aid.
The Complete BASIC Course is designed to teach
you to write and develop BASIC programs for the
Sinclair ZX 81 - no other books or aids are
necessary. All is revealed in our easy step-by-step
guide with programs and "test yourself" exercises all
the way through.
As you become more proficient with computing, the
Complete BASIC Course will continue to be an
essential guide, giving you finger tip references,
numerous advanced programming techniques and
memory saving devices specifically for the Sinclair
ZX 81.
HOW TO WRITE PROGRAMS:
Even if the idea of writing programs is completely
mystifying to you, the Complete BASIC Course will
show you just how easy it is. In no time you will be
able to write and enjoy complex programs for
whatever use you desire.
Using the proven "TOP-DOWN" approach, the
Complete BASIC Course will show you systematic
and simple ways to write programs. Even
experienced programmers will benefit from this
Course, making programs easier to write and less
prone to error!
NUMEROUS EXAMPLES:
Every concept, every function is fully described by
simple programs that you can enter on your Sinclair
ZX 81 in minutes.
MORE BOOKS!
Not Only 30 Programs for the Sinclair ZX81: 1K-
Not only over 30 programs, from arcade games to the
final challenging Draughts perna program, which all
fit into the unexpahded 1K Sinclair ZX81 but also
notes on how these programs were written and
special tips! Great value!
$14.95 ($16.95 in Canada)
ana Language Programming Made Simple for the
nclair
A complete beginner’s guide to the computer’s own
language —Z80 machine language. Machine language
programs enable you to save on memory and typically
pes you programs than run 10-30 times faster than
ASIC programs.
$19.95 ($23.50 in Canada)
Understanding Your ZX81 ROM
A brilliant guide for more experienced programmers
by Dr. lan Logan, this book illustrates the Sinclair's
own operating system and how you can use it. In-
cludes special section on how to use machine code
routines in your BASIC programs.
$19.95 ($23.95 in Canada)
ZX81 ROM Disassembly
Part A. Covers ROM locations from 000H to OF54H
and includes all functions except for routines used in
floating point calculator. A must for the experienced
programmer.
$14.95 ($16.95 in Canada)
ZX81 COMPLETE
BASIC COURSE
The Complete BASIC Course contains over 100
programs and examples! These programs illustrate
the use and possibilities of the Sinclair ZX 81:
Home use
Financial analysis and planning
Educational applications
Games
Mathematical applications
Displays of Artificial Intelligence
EVERY FUNCTION COVERED:
No matter what your application, what your
confusion about any function, you will find it covered
in the Complete BASIC Course.
A full and detailed discussion is included of even
traditionally taboo topics such as USR, PEEK and
POKE.
A handy alphabetical summary section lists all
functions, and provides a short description and
example programs of all topics.
A PERMANENT WORK OF REFERENCE:
The Complete BASIC Course is an excellent
reference work for experienced programmers
(including tips on using special techniques) as well
as a comprehensiye step-by-step guide for
complete beginners.
The Complete BASIC Course has over 240 pages
filled with information in an attractive durable ring
binder - this is a lay-flat work of reference that
deserves a place next to every Sinclair ZX 81
UT" $34.95
BASIC Course Programs on Cassette
All major programs in the BASIC Course are available
pre-recorded in this set of cassettes. This is a valuable
adjunct to the Course, saving you time and effort.
$7.50 ($9.95 in Canada)
LAST MINUTE SOFTWARE!
Backgammon (16K) Includes a high quality graphic
representation of the board. $14.95 ($17.95 in Canada)
FI ght Simulation Incredible realistic machine
co
e program for piloting your own ZX81! $24.95 ($29.95
in Canada)
Damsel & the Beast (1K) Superb adventure game. $14.95
17.95 in Canada)
wo Adventure Games (16K) $14.95 ($17.95 in Canada)
The Ex
Guide to the ZX81
For Sinclair
ZXB87
64K
$179-95.
Memotech 64K Memopak
The Memopak is a 64K RAM pack which extends
the memory of the ZX81 by a further 56K. Design-
ed to be in the price range expected by Sinclair
owners. Plugs directly into the back of the ZX81
and does not inhibit the use of the printer or other
add-on boards. There is no need for additional
power supply or cables. The Memopack together
with the ZX81 gives a full 64K, which is neither
switched nor paged, and is directly addressable.
The unit is user transparent, and accepts such
basic commands such as 10DIM A(9000).
With the Memopak extension the ZX81 is
transformed into a powerful computer, suitable for
business, leisure and educational use, at a frac-
tion of the cost of comparable systems.
plorers’
Programming Aids
Some Games and
Other Novelties
Applications
Machine Language
Discovering the ROM
Hardware
$9.95 ($12.95 in Canada)
SAT,
Shipping and handling charge $1.50
per order books and cassettes, $3.00
per order 64k Memopak.
In Canada: Gladstone Electronics.
1736 Avenue Rd., Toronto, Ont.(416) 787-1448.
CHARGE TO: Please rush me:
[X VISA © MASTERCARD
1 account number: i
GLADSTONE
Electronics 901 Fuhrmann Blvd., Buffalo, NY, 14203
Quantity Price Total Д
[|
Expiry date
Signature
H Date
| NAME
| ADDRESS SHIPPING
TOTAL ..
L^ Gladstone Electronics, 901 Furhmann Blvd., Buffalo, N.Y. 14203 (716) 849-0735
Figure 4. Add on Switch Wiring
Push-button switches
(Radio Shack 275-1547)
EA
R17 (R20)
— LL - R14(R21)
3-4 feet — |
About 2 inches
Connectors (1 pkg.)
(Radio Shack 274-283)
Computer
Figure 5. PC Board Detail
Е :
S
MicroAce PC details
R14 (R21)
NEWLINE
row connection
D9 (D7)
U row connection
D8 (D6) о
MicroAce printed circuit
MICROACE issue 1.1980 ©
To 74LS365 —
%
ttc.
1K RAM 15 Ғғ
R17 (R20)
Ala!’
* Make connections here
26
A Hardware Modification
Adding the necessary switches to the
computer should be no problem for anyone
who knows which end of a soldering iron
to hold. In this discussion specific refer-
ences to the ZX80 will be followed by the
corresponding MicroAce numbers in pa-
rentheses. For example, on both schematic
diagrams, five lines come down from the
keyboard matrix, go left across the bottom
and up the left side into a 74LS365
integrated circuit. This IC is designated
IC10 (U11) on the pe board and schematic.
I have not had a ZX81 to work with, but
since the keyboard is electronically iden-
tical only the part numbers would
change.
It is helpful, though not essential, to
understand how the original ZX80 key-
board works. Under each key is a square
in which two wires cross to form a simple
pair of contacts which come together when
the key position is pressed. Though the
keyboard is physically arranged as four
rows of ten keys, electrically it is arranged
as eight rows of five columns. Each column
Is wired to a bit on a data bus which goes
up through that 74LS365 to the Z80's
data bus when the processor is testing the
keyboard. Since the column wires are
"pulled up” to 5v ordinarily, the only time
the Z80 will see a zero bit when testing
the keyboard is when one of those keyboard
"switches" connects the column line to a
row line which is grounded. A short circuit
to ground "pulls" down harder than a
resistor can pull up. By rapidly grounding
one row line after another, the CPU can
test all the rows in the keyboard. But how
does it do that? A very subtle feature,
probably unique to the 780, is involved.
The monitor program executes an "IN
C,kbd” instruction which 1) puts out the
keyboard address on the low half of the
data bus, 2) loads the current pattern
from the data bus into the C register of
the CPU, and 3) (this is the sneaky part)
drives the high half of the address bus
with the contents of the CPU's A register.
This high half of the address bus drives
the column lines of your keyboard just
the right way so one column is sensed at a
time and nobody gets confused but the
poor hobbyist who tries to figure the whole
thing out. |
SYNC Magazine
Two wires must be added to your
computer for each extension switch. All
the switch has to do is short the right row
to the right column to imitate the original
Figure 6:
— —Basic Output Enhancement I, 4K Program. —
10 REM
an = BASIC OQUTPUT ENHSNCENEN
р
G
е)
l4
X
AD
Pr fy)
T | ons Rael
HC
-
Qi i
каз +
IDE:
gun mul
Gu
e n3 c
o
[
г"
m
4
бтрт DH
HUE HEN ms Fc arem ams
UMC HOON
Iv.
J63 THEN GOTO
PRINT DISPLRHY
158
Гы."
аір;
FOR I-
NEXT І
B+i TO C
iat
І == 4. а а
2 ipt ens (TI);
270 NE
PRINT
INPUT Bs
S00 IF A= QT HEN SFOR
IF CODE (Ag) 25а THEN GOTO 3
В = +41
GOTO Sa
Figure 7:
— — Basic Output Enhancement I, 8K Program.
20 DIM Rí543
43 FOR I=1 TO 52
s@ LET лдын
©б NEXT
70 LET А53) 2128
S590 LET A(54) =14?
36 FOR J=1 TO 64
120 LET A=1
110 LET 6=26
120 LET Cz53
130 CLS
142 LF J<64 THEN GOTO 168
159 PRINT “DISPLAY FULL"
150 FOR I=A TO
170 PRINT CHR$ (ACI);
159 NEXT I
iod PRINT
Daa FOR I=B+1 TO C
zig PRINT CHR$ (ACT;
220 NEXT I
238 PRINT
zd PRINT
250 FOR 1=1 TO J-i
260 PRINT CHR ТТУ);
270 NEXT I
2S0 PRINT
290 INPUT AS
зо F AG="O" THEN STOP
3190 IF AG="U" THEN GOTO 35a
320 ET A=B+1
S38 LET B=INT ((A4C) 72)
340 GOTO 370
5509 LET CzB
360 LET B-INT ií (BA?
370 IF A:B OR B«C THEN GOTO 138
Зё@ LET T fl} =A (С:
39ge IF mí(C)z147 THEN LET J= 7-2
490 IF ЯС} =12 THEN GOTO 90
41@ IF ЯС) =128 THEN LET T (J) =й
42а NEXT J
430 сото аа
Мау/Јипе 1982
switch. The type of switches to use will
vary with the intended user's capabilities,
but should be normally-open (N.O.), single
pole single throw ((SPST), either push-
buttons or spring-return toggles. To allow
easy removal of the switches when not in
use, add a pair of audio-type miniature
connectors in the switch wiring, but that
is optional. Proceed as follows:
1) Run one wire from D9 (D7) to one
terminal of a switch. Use the end of the
diode which is closest to the keyboard
wiring. See Figure 4.
2) Run another wire from R17 (R20) to
the other terminal of the same switch.
Use the end of the resistor which is NOT
connected in common with the others to
+5у. This is the NEWLINE extension
switch.
3) Add wires to D8 (D6) and R14 (R21),
as described in 1) and 2) above, for the
"U" switch.
4) You are now ready to enter and
RUN the program.
If you do your own soldering, use as
fine a tip as you can get. Keep it clean
and bright. When the iron is dirty (dull
grey in color), solder "bridges" to adjacent
conductors are easy to make and hard to
remove. Use no more solder than neces-
Sary.
Suggestions for Program Improvements
Obviously, improvements can be made
to the program in Figure 6. Rewriting it in
machine language would speed it up and
remove the need to hit NEWLINE each
time. A user defined list of words either
in place of or in addition to the alphabet
would remove the laborious retyping of
common words and phrases. If you want
to get fancier, alternate displaying the
top and bottom rows so that a single switch
closure during the appropriate display
period would then do the selection. (One
sound-activated switch is much easier to
build than two.) Finally, a “тахітит-
entropy" coding scheme could also speed
use by creating shorter "paths" to com-
monly needed symbols (whether individual
characters, letter groups, or words). If
you put only the four most common
symbols in the LA row in the beginning,
only three decisions would be needed to
select any one of them. (Note: this is
getting dangerously close to “information
theory.")
Program Notes
1) The program was written on a 4K
ROM, 1K RAM MicroAce.
2) The A array holds the "alphabet."
The symbol set (lines 50-90) can be cus-
tomized for the individual.
3) The T array (64 letters) holds the
message text. Modify lines 30, 90, and 140
to expand it for your memory capacity.
4) Line 300 provides for modification
and/or debugging while running the pro-
gram by entering “О” to quit.
5) Any input line beginning with U selects
the UA row. Otherwise the LA row is
selected. When only one character remains
in the selected row, it is entered into the
text buffer, i.e., the message line.
6) Lines 390, 400, and 410 select the
control symbols and can be changed to
your own preference. The [Ё] resets the
file pointer and, in effect, wipes the slate
clean. The KI moves the pointer back one
space to allow error correction. The Ё
puts a space into the text buffer. не
MUSIC AND
KALEIDSCOPES
PLAYER ZX81 generates music
through the cassette port. 2
octaves, 124 note length.
Random sound program
included. $6.95 pp.
SQUARES AND CROSSES are
kaleidoscopic simulations forthe
ZX81. $6.95 pp. Cassette and
instructions. Guaranteed to load.
ALL RUN IN 1K RAM
Add $3 each outside U.S.
William Don Maples
688 Moore Street
Lakewood, CO 80215
= Learn by Doing
Programming Kits from SSL
Ө Educational, financial, game
programs that you build
as a kit.
Instructions teach programming
and tricks of the trade. For free
catalog write:
Systems and Solutions, Ltd.
5054 Kenerson Dr.
Fairfax, VA 22032
27
Keyboard/System Conversion:
The First 40/1 Keys
Robert B. Trelease
28
Ed. — A WORD OF CAUTION: Алу hard-
ware project that involves modifications
to vour computer must be approached
with extreme caution. SYNC cannot be
responsible for problems that may arise
from attempting hardware projects.
Obviously, апу damage done to the com-
puter can be costly in time and money for
repairs or even replacement.
Introduction
As a daily user of some of Digital
Equipment Corporation's nicest micro-
based laboratory computer systems, it is
easy for me to be prejudiced about system
design and operating convenience. In
particular, I will have to admit a real
fondness for DEC's VT-103/LSI-11 ergo-
nomically designed video terminal with
detached keyboard and self-contained 16
bit LSI-11 microcomputer bus/backplane.
As a ZX80 owner, on the other hand, I
also find system simplicity and portability
very attractive. As others have pointed
out, one only needs a battery pack, a
small portable television, and a ZX80/1
or MicroAce for a backpackable combi-
nation that can bring computing to places
like the high Sierra Nevada wilderness.
On first thought, it would seem a con-
siderable design problem to configure a
system combining DEC-style keyboard
convenience and modularity with Sinclair-
style portability. As it turns out, the problem
is not very great, and the average (read:
technically sophisticated) SYNC reader
can probably handle it with ease.
The purpose of this article is to review
computer keyboard (KB) conversion for
the ZX80 or MicroAce and to describe
the first phase of an adaptation that retains
original system portability while allowing
upgrading to an “advanced” expansion-
bus oriented system.
Keyboard Conversion Kits
The fundamental conversion described
here can be made with almost any KB
switch array, 40 keys, new or used, so
long as the switches are normally open
and are closed with a keystroke. Such
Robert B. Trelease, 2313 5th St.. Santa Monica.
CA 90405
SYNC Magazine
keyboards can then be paralleled with
the ZX80 keyboard. The Schultz Systems
keyboard used in this article was chosen
because the kit included the electronics
for additional features not available with
the standard Sinclair or MicroAce. These
features, which include shift-locking. auto-
repeat, and single key. auto-upshifted
functions (such as single key rubout) will
be covered in a future article on advanced
conversions. Unfortunately. Schultz no
longer provides complete conversion kits
with used KB’s, although complete in-
structions, KB source listing. and other
parts can still be obtained. (At this writing
kits and instructions are available from
L.J.H. Enterprises and Double H Elec-
tronics.)
Construction Details
Ihe KB provided. as is probably the
case with most used units, came equipped
with a printed circuit board electronics
matrix attached to the switch terminals.
To begin the conversion, it was thus
necessary to remove this PC board. A
de-soldering tool, such as a SOLDAVAC
(ТМ) (Radio Shack no. 64-2085 or equiv-
alent) is a real necessity. Even with this
tool, unsoldering the old matrix board
was clearly the most difficult part of the
initial conversion, taking about 2 of the 4
hours needed for the project. In order to
avoid switch damage on removing the PC
board, all of the solder had to be removed
from each connection. This required 2
complete passes over the board. (Figure
iW
Once removed, the old matrix board
was kept for salvageable parts like sockets,
IC's, diodes, resistors, and capacitors— an
added bonus! Each switch was tested with
an ohmmeter in order to avoid unpleasant
surprises and then labelled on the back to
aid in wiring. Although it was not necessary
with my KB, the circuit board could have
been retained for switch support, with
each terminal contact being isolated from
the old circuit by cutting printed circuit
conductors.
The switches were then strung together
in rows and columns using the ZX80 matrix
convention (see $YNC 3:42 for greater
detail). Briefly, this consists of wiring in
parallel one terminal of each switch in 8
rows (e.g., "shift," Z. X, C, V) and the
other terminal of each switch in 5 "folded"
columns 9 to 13. Since there were two
"shift" keys, each was wired the same to
allow shifting with either hand. For con-
venience, I did the same with adjacent "."
and "." keys. All connections were made
with standard insulated hookup wire.
(Figure 2)
For connecting the wired KB matrix to
the computer, I used a 16 pin DIP termi-
nated 18" ribbon "jumper" cable (Radio
May/June 1982
Figure 1: Desoldering the kevboard.
Shack 276-1976) and 2 16 pin DIP IC
sockets (Radio Shack 276-1998). A small
piece of 0.10 spacing "perf-board" was
attached to a convenient slot in the KB
frame using cyanoacrylate glue ("Crazy
glue”). One of the 16 pin IC sockets was
glued to the board. and the row/column
leads (1-8/9-13) were soldered to its ter-
minals in numerical order (1-8 and 9-13
respectively). Pins 14-16 were reserved
for power connections for the advanced
functions. (Figure 3)
The final step of the basic conversion.
connection to the computer board matrix
diodes and resistors, was carried out using
the DIP terminated jumper cable. One of
the DIP plugs was cut off the cable. leaving
enough cable on the detached connector
so that conductor numbers could be
positively identified. This was important
because the jumper cable was not color-
coded, although the 1/6 edge of the ribbon
bore a standard red stripe. The computer's
top cover was removed. Following the
convention of the IC socket on the KB,
wires 1-8 were carefully soldered to the
anode (unbanded) leads of diodes D3 -
D10 (MicroAce, D1-D8). Wires 9-13 were
connected to the non-5 volt ends of
Figure 2: Wiring.ne keys. —— —ć
resistors R13-R17 (MicroAce R18-R22;
neither system is in numerical order!). To
avoid component damage, wire leads
were pretinned, and contacts were only
briefly heated (Figure 4)
In my ZX80, the ribbon cable was led
back under the voltage regulator heat
sink to exit the case just above the
expansion bus. (Other exits could be used
in the ZX80 or MicroAce. For example, a
small slot might be cut in the cover).
Strain relief was provided by tethering
the ribbon cable to the video modulator
case. (Figure 5)
The final products of this conversion
were a DIP-socketed, wired keyboard and
a ZX80 with a mating ribbon cable "tail."
When the system was connected, every-
thing worked — almost. Initially, the R and
O keys did not function on the new
keyboard. Closer examination showed that
in wiring the matrix, I had slightly bent
one terminal on each key so the switch
contacts did not close. A gentle push on
the terminal connection restored complete
function. I then had a ZX80 with both
keyboards functioning in parallel. (Figure
6)
In order to ruggedize the project and
reduce ТУ interference from the conver-
sion, a keyboard enclosure was added. I
chose an aluminum housing for my system
(BUD KB 13202 from Herbach and
Rademan, Inc.; depending on the specific
KB adapted, many other enclosures could
be used). The IC socket on the keyboard
was jumpered to another socket mounted
on the back of the enclosure. (For coura-
geous engineers who do not wish to test
keyboard wiring before enclosing, con-
nections from the rows and columns may
be made directly to an IC socket on the
cabinet). The connector pins on the
computers new "tail" were protected during
"stand-alone" operation using the remaining
16 pin IC socket.
29
Since the keyboard was printed with
the standard type letters as well as with
unusual “uppercase” functions, a copy of
the ZX80 template was used as a "cheat-
sheet." Transfer lettering and clear epoxy
lacquer also could have been used to
identify keys.
Synopsis and Provision for Expansion
As described here, the basic keyboard
conversion is easy to wire, taking a slow
builder about four hours of straight time.
The finished product as modified is a
detachable keyboard for the ZX80/1 or
MicroAce which can serve as the founda-
tion for a more complex, expansion bus
oriented microcomputer system. In the
present form, the original system can be
separated from the new keyboard, thus
retaining true portability.
By implementing CMOS switching cir-
cuitry such as that obtainable from Schultz
Systems, one can obtain advanced key-
board functions like auto-repeat and single-
key rubout. By adding a separate cabinet
containing a heavy duty power supply,
printed circuit card guides, and ZX80 bus
connectors, the true "hardware freak" can
inexpensively construct a modular micro-
computer system with features similar to
those of more expensive business and
scientific models. (A somewhat different
30
Figure 3: Attaching row/column leads to IC socket on períboard.
approach to such an advanced system
was shown in SYNC 4:38 "A Parallel
Interface" by Alger Salt.) Design and
implementation of these advanced features
will be considered in a future article.
(Note: DEC, VT-103, and LSI-11 are
trademarks of the Digital Equipment Cor-
poration.)
ZX81 Conversion Details
Shortly after finishing the first part of
this conversion article, I had the good
fortune to acquire a ZX81 kit. It immedi-
ately became apparent that the same
general conversion scheme could be
applied to the new machine as well. I will
detail only one approach, although SYNC
readers will undoubtedly conceive of other
ways to do the job.
The keyboard matrix and connector
should be constructed as detailed above,
with rows and columns wired to 13 pins
on the attached DIP socket. The jumper
cable should then be connected to the
matrix diodes and resistors, which are
D1-D8 and RP-3 in the ZX81. In the quick
and dirty approach, the cable leads should
be conservatively stripped, pretinned, and
then soldered to the PC traces of con-
nectors KB 1 and KB 2 on the solder side
of the board.
Figure 4: Attaching ribbon wires to the diodes.
Soldering may be done relatively easily
with only the bottom half of the computer
case removed. Figure 7 depicts the PCB
under KB 1 and KB 2 and shows the
order of connections for the lines of the
jumper cable.
Stripping of the jumper leads should be
kept to a minimum, and some additional
insulation, like heat shrink tubing or silicone
cement, may be used to reduce the likeli-
hood of shorting. The cable may be out
of the case below the bus connector, and
tethering to PCB screw channel/support
posts will help reduce the chances of wire
breaks and shorts.
ZX81 owners particular about the
"OEM" condition of their machines might
want to try adapting a 16 pin dip plug to
flexible printed circuit "cable" for direct
connection to KB 1 and KB 2. This scheme
necessitates opening the case, however,
and disconnecting the membrane KB when
connecting to the new KB. This is clearly
no disadvantage for those who might wish
to mount the ZX81 or bare PCB perma-
nently inside the new KB enclosure.
— Figure 5: Ribbon cable exit from computer. _
SYNC Magazine
Figure 7: ZX81 hookup.
Figure 8: Row and column arrangement.
OOOOOOOOOO
с rr
du
II
TR SIGNALS
2 JUMPER
4& | INES
D8
7 А14 D7
KBO
KBI
KB2
K B3
8 AIS
<
=
13
12
~
11
10
ZX-STD BUS INTERFACE
Floppy Disc * ON-BOARD MEMORY
Hi-Res Vid. EXPANSION OPTION
Add X MEMORY -MAPPED PORTS
Menery * PROVIDES POWER TO ZX
Speech *ALLOWS OVER 6M CABLE
Modem * HI-POWER BUS BUFFERS
e * DELIVERY FROM STOCK
D-
Uto CENE CES p op
Etc. Etc. - 493M 8 uU" Pu
From over 50 manuf. ов D Re UU LU oU MA ca NN bee
Le Lt i i NEST hin Es em | - ANNIN,
OPTIONS: шшш” h—— —— ө)
* CONVERT ZX EDGE CON. | par
TO RIBBON HEADER $30
A E CO * 2K RAM EXPANSION $15
Ы *4K RAM EXPANSION $ 25
ШШ
BOX 18093 AUSTIN
"Peas " SINCLAIR
(512) 385-7405 334
8K ROM
16K RAM
Least Squares Data Analysis with
the ZX80/81
Alger Salt
One of the most common tasks of a
computer is to perform statistical analysis
and data manipulative type computations.
Many of the computations involved are
very tedious to perform by hand since
they sometimes require a large number of
reiterative calculations. Statistical analysis
problems that take hours for a human
(equipped only with pencil and paper)
are solved in a matter of seconds with a
computer. This article presents a program
which computes some simple statistical
quantities commonly used by engineers
and scientists.
Data collected in the laboratory or in
the field often follows some logical pattern.
The quantity of interest depends on or is
a function of another quantity. By recording
a sufficient amount of data, this relationship
may be determined by fitting a function
to the set of data points. It is rare that
data collected in the real world corresponds
exactly to some function; rather it is
scattered about with a certain probability
of corresponding to the function.
Consider a function which would de-
scribe the ambient temperature in Cove
City, North Carolina, as a function of
time for the last twenty years. If the
function were to include all of the daily
temperature fluctuations, it would indeed
be a very complicated function. However,
if only the average weekly or monthly
temperatures were recorded, then a rea-
sonable function could be fitted to the
finite number of data points. The function
would resemble a sinosoid with a period
of 365 days with maxima and minima
occurring in the late summer and winter
respectively. There would be some un-
certainty associated with correlating a
Alger Salt, Department of Chemistry, East Carolina
University, Greenville, NC 278234.
32
particular day in the future with some
specific temperature. In this case the
uncertainty lies within some confidence
limits determined by the climate. In other
cases the uncertainty depends primarily
on the method or apparatus used to
measure the data.
Fitting a function to a set of data points
is desirable because it allows one to make
predictions or extrapolations from hypo-
thetical or trial data.
The Method of Least Squares
In many situations the function which
relates one quantity to another is linear.
That is, if the data are plotted, the points
lie on or about straight line. Examples
include: the current through a resistor as
a function of voltage, the conductance of
pure water as a function of the amount of
salt added or the length of a suspended
spring as a function of the load attached.
An approximate method of determining
the "best" straight line through a set of
data points is by plotting the points on
graph paper and drawing a line which
uniformly divides all the points. Of course,
this method is prone to error because
determining the "best" straight line is
somewhat subjective and two persons
working with the same data will rarely
arrive at identical functions.
The "best" straight line through a set of
data points is defined as that line in which
the sum of the squares of the deviations
of all points from the line is a minimum.
This method of "least squares" is far
superior because it calculates, not approx-
imates, the line. The method yields two
quantities: the slope and the intercept of
the line, thereby defining the linear function
by the well-known relation
у = ах + Б
where a is the slope and b is the y-
intercept.
The slope and intercept are determined
by the formulas in Figure 1. Another useful
quantity is the correlation coefficient, given
in Figure 2, which is the relative amount
Figure 1.
X y
ху —
N
slope =a=
( x)?
x 2
N
y—m x
y—intercept = b =
N
Figure 2.
( x)?
x? —
N
N—1
correlation coefficient = с=т
, ( y)?
y —
N
М — 1
SYNC Magazine
HAVEN HARDWARE
Programmable Character Generator
User defined characters
Z81 Repeating Keymodule
For editing-variable speed
Parallel Input/Output Port
Full-Size Keyboard
Large two part keytops with repeat key
* Kit available, subtract 209/ for kit price
BUTLER/CURRIE/HOOK
Print n' Plotter Jotter Pads
100 Sheets 8%” x 1134",
2816 Pixels PLOT grid
704 item PRINT grid, numbered,
keyboard facsimile, 2 hole punched,
far superior to Sinclair grid
Print n' Plotter Films
Erasable overlay 8" y 11”
PLOT and PRINT grid
Print n’ Plotter Ring Binder
JP GIBBONS
Personal Banking System
Requires 16K expansion-cassette
MELBOURNE HOUSE
Books
Not Only 30 Programs For
The Sinclair ZX81
Machine Language Made Simple
ZX81 ROM Disassembly Part A & B
(2 volumes) — Dr. lan Logan
Understanding Your ZX81 ROM
Dr. lan Logan
The Sinclair ZX81 Basic Course
Casette Tapes
ZXChess — 16K ZX80-8K/ZX81
10 Exciting Programs — 1K ZX81
Adventure A — 16K ZX80-8K/XZ81
Adventure B — 16K ZX80-8K/ZX81
Adventure C — 16K ZX80-8K/ZX81
Spacetrek — 16K ZX81
Directory/Record — 1K ZX80-8K/ZX81
with listing
Reversi — 1K ZX80-8K/ZX81
Super Invasion — 1K ZX80-8K/ZX81
Wallbusters — 1K ZX80-8K/ZX81
ZXGalaxians — 16K ZX81
ZXBug Utility Program — 16K ZX81
If you are a producer of hardware or software for the ZX81 and are interested in having a U.S. or Westcoast sales
orgnization marketing your products we would like to hear from you.
Add 5% west of or 7% east of Mississippi River to cover handling and shipping.
Washington residents add 6.5% sales tax.
Qinclain Place
8K/16K
ZX81 CHECKERS
* FASCINATING FULL SCREEN
MOVING GRAPHICS.
* SOPHISTICATED PROGRAM WITH
DETAILED DISPLAY OF
PLAYING BOARD.
* EDUCATIONAL & ENTERTAINING.
* EASY & FUN TO USE.
—CASSETTE & INSTRUCTIONS—
REG. $14.95
INTRO PRICE—$11.95
& $1.50 P/H
В & В SOFTWARE
1425 LUCY LANE
MADISON, WI.
93711
P.O. Box 2288 Redmond, WA. 98052
STRUCTURAL
DESIGN
For ZX-81 8K/16K
Programs include GRAPHICS
STEEL BEAM DESIGN $29
12 Options of Beam Type and Loading
TIMBER BEAM DESIGN $29
3 Options of Beam Type and Loading
Choice of Timber Grade and allowable Stress
DORAN ENGINEERING, P.A.
113 South Chestnut Street
PLEASANTVILLE, NJ 08232
(609) 646-3111
VISA MASTERCARD
of scatter about the line. A correlation
coefficient of 1 means that all data points
lie exactly on the least squares line. A
correlation coefficient of less than 0.9
implies that the data are either invalid or
are not linearly related.
The Program
Though the program as written will not
fit into a IK system, it can easily be broken
down into independent modules so that
IK owners should still be able to benefit
from this article. The DIM statements at
lines 10 and 11 limit the maximum number
of data points to 20. The FOR-NEXT
loop at lines 140-180 repeatedly invokes
the subroutine at line 1000 to enter the
data points into the X and Y arrays. The
main program is made from lines 200-400.
These statements produce a menu which
gives the user several paths to follow.
The user enters a number from 1 to 5
which is stored in the variable G. The
program calculates the appropriate line
number from G and branches accordingly.
(Note that branching to a line number
specified by a variable is one feature of
the Sinclair Basic not found in many others.
This feature offers many advantages
including increased readability; it is much
easier to comprehend a statement that
says GOSUB PLOTSUB than one that
says GOSUB 130.) The options given to
the user are: calculating the least squares
line, printing a table of the data, plotting
the data, starting over or ending the
program.
The analytical calculations are done in
the subroutine starting at line 3000. As
you can see, the summations indicated in
the equations in Figures 1 and 2 are carried
out in a FOR-NEXT loop from 1 TO N,
where N is the number of points. Line
3340 prints the equation of the line from
the calculated slope and y-intercept. The
correlation coefficient is calculated at lines
3360-3400 and is printed at line 3420. This
module, along with some way of getting
data into the X and Y arrays, may be
used as the main program in a 1K system.
Ihe plotting routine is useful as a
qualitative assessment of the data. By
plotting the data on the screen one can
see at a glance if the data are well behaved:
in this case linear. In some cases the user
may or may not wish to see a plot which
includes the origin. For instance, a straight-
line plot with a high positive y-intercept
would not utilize the full resolution of the
44 x 64 pixel screen. Instead, the line
would look compressed against the top of
the screen. For this reason the user is
given the option of having the graph include
34
the origin or the point (0,0) which is in
the lower left corner of the screen. This is
a rather unsophisticated plotting routine
and is only valid for positive values. The
user may wish to substitute another. A
more sophisticated routine would allow
negative values and position the origin
accordingly. Labeled axes would also be
a useful enhancement.
Note the instruction POKE 16437,255
at line 5581. This is necessary for ZX80
8K ROM users. It must follow every
PAUSE instruction. Failure to include it
can result in a system crash. The reason
for this is not clear to me, but it is
apparently the result of a bug in the ROM.
It has something to do with a counter that
both the PAUSE instruction and video
circuitry use. Without the extra instruction
the system may work fine for as long as
ten minutes then suddenly produce a blank
screen with no response to keyboard input.
A power down or reset is the only road to
recovery which, of course, results in losing
the program which you had just spent the
last two hours typing in. I had to find out
the hard way, and, after several weeks of
testing, probing, and endangering my sanity,
I happened to stumble across the solution
on page 127 of ZX61 BASIC Programming,
a typical case of “when all else fails, read
the instructions.” Be forewarned.
Example
Perhaps the best explanation of the
method of “least squares” is an example.
Let’s say that we are looking for the
function which describes the forward
voltage drop across a transistor as a
function of temperature. In order to use
the least squares method we must have a
function which we will get back as a straight
line. Therefore, we must assume that the
relation of the voltage drop across a
transistor is linear. Well, it is not quite
X Y
Voltage Drop Temperature
(volts) (degree Celcius)
(1) 0.6853 0.00
(2) 0.6752 5.00
(3) 0.6647 10.00
(4) 0.6542 15.00
(5) 0.6440 20.00
(6) 0.6337 25.00
(7) 0.6234 30.00
(8) 0.6024 40.00
(9) 0.5811 50.00
(10) 0.5595 60.00
(11) 0.5377 70.00
(12) 0.5264 75.00
(13) 0.5163 80.00
(14) 0.5054 85.00
(15) 0.4942 90.00
(16) 0.4821 95.00
Figure 3: Voltage/Temperature Table. —
linear, but close enough when operated
between 0 and 100 degrees Celsius. The
data in Figure 3 were collected using a 4-
digit multimeter and a National Bureau
of Standards mercury thermometer with
absolute accuracy to 1/100 of a degree.
From this table and with the aid of the
program in Figure 4 we should easily be
able to determine the temperature of the
transistor casing (or ambient temperature
if the device is in the surrounding envi-
ronment) by measuring its forward voltage
drop. Conversely, we could determine the
forward voltage drop if we knew the
temperature. Suppose we measure a voltage
drop of 0.6295 volts across the transistor
and we wish to determine the temperature
accurately. We know that it should be
between 25 and 30 degrees just by looking
at the table. But we want to be a little
more accurate than that. Let's run the
program and see.
The program first asks for the number
of data points. We have collected 16 known
data points so enter 16. The program
then asks for the data, X1 then Y1, X2
then Y2, etc., until the Y component of
the last data point is entered. Then a
menu is displayed so we can tell the
computer what to do with the data: 1)
perform least squares analysis, 2) list the
numerical values, 3) plot the data, 4) start
over, or 5) quit. The best thing to do here
is list the data to double check all of the
entries. If a mistake is found, the program
forgivingly offers the option of correcting
it without entering the entire collection
again. After entry corrections, the program
waits for another NEWLINE before going
back to the menu. With the corrected
data now in the computer we are ready to
perform a least squares analysis. The
program responds with the slope, y-
intercept, and the equation of the best
straight line through the set of data points.
The unknown quantity can be immediate-
ly calculated by substituting the corres-
ponding known quantity into the equation.
y=axtb
or
(y-b)
X ==
а
In this case we know x.
y = -469.02146 deg/V* 0.6295 V +
321.99771 deg — 26.75 deg
The result is valid to the number of
digits of the input data. The same results
would have been obtained had we switched
the coordinates, that is, if we had let the
voltage drop be the X value and the
temperature be the Y value. Then the
unknown temperature would have been
SYNC Magazine
EVEN IF YOUR LIGHTS GO OUT
YOUR COMPUTER WON'T,
| Introducing —^
. NiCd Battery Back-Up Units from Syncware
«+ Make your ZX Portable
BBU-2 runs over 2 hr.
BBU-1 runs 1 hr.
Baby BBU runs Уе hr.
5 • Make your ZX immune
——X ÙO lino glitches! : e
PRICES: : : * Protection against _ s
Baby BBU — 39.50 brown-outs, blown
BBU-1 — 54.50 fuses, etc.
BBU-2 — 84.50
y 4
ү.
ОКЕ
TIRED OF LINE GLITCHES Prices are postpaid in continental
| GIVING YOUR COMPUTER AMNESIA? "i S. decus sine un ada 2
| Let Syncware take the annoyance out of computing. Baby BBU and BBU-1 useex- | Payment must be in V. o. -
T созы supply; in case AC line goes dead or power supply gets knocked out | rency. Send check, ие огаег ог
_ of socket, battery takes over until power restored, preventing memory loss. international M. O. only.
BBU-2 contains built-in heavy duty power supply,
| eliminating need for original supply. In addition, 1.1 E
_ BBU-2's output is pre-regulated at 8 volts for addi-
tional glitch rejection, and also lets your ZX run con-
siderably cooler. DON'T WAIT FOR A SUDDEN
CRASH BEFORE YOU ORDER YOURS!
ZX81 PARALLEL INPUT/OUTPUT BOARD
_|1]2[3[%]5]в]7]в]з]в] | |
| Ганев тура ое
Features include: 16 User Programmable lines
Fully TTL Compatible
Lj [ajs]p]e[e|w[o[k]t[ Jew
ser] | Jz]xic[vis[u[n]. [ue
ы а ннакана
A multitude of Keyboard & Display
uses include: Interface
Lighting Control Systems
Robot Controller
Home Security Systems
Central Heating Control
THIS IS A МЕМ, SURPLUS, 53 KEY, GOLD CONTACT, FULL STROKE, HIGH RELIABILITY
KEYBOARD, ORIGINALLY MADE FOR A TEXAS INSTRUMENTS COMPUTER TERMINAL BY HI-TEK.
WE MODIFIED THE CIRCUIT BOARD TO WORK WITH THE ZX80 AND ZX81 COMPUTERS.
THE KEYBOARD IS ABOUT 12 INCHES LONG, 4 INCHES WIDE AND 1% INCHES THICK.
THE SPACE BAR IS 6 INCHES LONG AND THE TWO SHIFT KEYS AND RETURN (ENTER) KEY
ARE OVERSIZED FOR EASIER USE. THERE ARE 12 EXTRA KEYS WHICH YOU MAY USE FOR
THE SPECIAL CIRCUITS DESCRIBED BELOW. DETAILED PLANS ARE INCLUDED WITH THE |
KEYBOARD. AN OPTIONAL PARTS KIT IS AVAILABLE.
ELECTRONIC SHIFT LOCK WITH LED INDICATOR- allows vou to lock the keyboard |
. 4 E 7 7 T А 3 |
їп the shifted mode. Simplifies entering graphics. |
AND MANY MORE. AUTOMATIC REPEAT WITH LED INDICATOR- once activated, you сап hold any key |
down and it will continuously input until released. Make it easu to |
move the cursor quickly, draw graphies ete words, ete |
| AUTOMATIC SHIFT FOR SELECTED FUNCTIONS- s like: delete, $,
cursors, ", =, ete. can be placed on dec this etreutt
does the shifting for you, electronically.
THE KEYBOARD COMES FULLY ASSEMBLED AND READY TO CONNECT TO YOUR COMPUTER VIA
| A 13 CONDUCTOR RIBBON CABLE (SUPPLIED). THE COMPUTER'S EXPANSION CONNECTOR IS
LEFT FREE FOR USE WITH THE 16K MEMORY OR PRINTER, ETC. THE PARTS KIT IS NEEDED
ONLY TO ADD THE SPECIAL CIRCUITS DESCRIBED. THE KIT CONTAINS ALL THE ELECTRONIC
| PARTS REQUIRED, INCLUDING ALL IC'S WITH SOCKETS, RESISTORS, LED'S, ETC. YOU
| PROVIDE ONLY SOLDER, WIRE AND A SMALL PIECE OF PERF BOARD FOR ASSEMBLY.
PRICE: £16.50/$35 US $ Cheques accepted.
О.К. ORDERS ADD £2.48 V.A.T. + 30p p. & p.
Shipping, insurance, handling please add the following:
U.S.— APO-FPO(PAL) $3, CANADA $6, ALL OTHER FOREIGN $12
Texas residents add $2.53 state sales tax.
FOR PARTS KIT ADD $13 and an additional $1 for postage/handling
6 ——9 Texas residents add $.72 additional sales tax.
DOUBLE H ELECTRONICS ALL PRICES ARE $ U.S. AND ONLY U.S.
Е DOLLARS CAN BE ACCEPTED. MONEY ORDER |
195 LELANI OR CASHIERS CHECK PREFERRED.PERSONAL
CHECKS MUST CLEAR BEFORE SHIPMENT.
E SAN ANTONIO, TEXAS 78242
© OO COMPLETELY ASSEMBLED KEYBOARD & PLANS FOR THE SPECIAL CIRCUITS
ORDER FROM: -
Andrew Developments, 93 Beaconsfield Villas,
Preston Park, Brighton, E. Sussex, ENGLAND.
Tel. (0273)564629
determined by substitution of the transis-
tor's voltage drop into y. Finally, we can
plot the data by hitting NEWLINE to get
back to the menu and then entering 3.
The sample plot reveals that the data are
hardly scattered, as also predicted by the
correlation coefficient of very near unity.
Hopefully, this article will be of help or
interest to many readers. This article barely
scratches the surface of statistical analysis
and function fitting. Bear in mind that the
least squares technique is not limited to
linear functions. Variations on the method
can be used to fit polynomials of any
degree to a set of data points.
Note: Readers are referred to Jon
Passler's "Linear Regression" in SYNC
2:1 for more information on relating vari-
ables.
bs
Dr
€ Ggonceccoggronmne
0 :É5ÉoaGrGe-c
AA. to
Figure 4: Program Listing
REM ... LEAST SOQURES
REM ... ANALYSIS PROGRAM
REM "э п Br.
REM a. ALGER SALT
REM ... JANUARY 1962
DIM Y (S
а
2
“L.
AST SGUARES DATA я
т——
INPUT N
CLs
FOR I=1 TON
GOSUB 10900
PRINT "1- LEAST SQUARES"
La] Cad Lad Ld Cad d ad Gd Gl Gd Cad Gd Gad (d
Т Ш bo bok TETTE
1-54)
еб б RO UU
RRRIZOZU QU
UJ Cd GI o Gm Ld La Ld:
~ LIST DATA“
- PLOT DATA"
- START AGAIN"
- QUIT"
N
19 LET SO-50-«vt(I)xx2
20 LET S1-51-4XtI1j
4ай LET $S2-52-4vt13
60 LET S3-334X(I) жу {iI}
SQ LET 54=54+ХІІ) x2
тсе NEXT I
29 LET S5-Sirx2
40 LET M=((S2252-°N) -SS) 7 0 (551
={(f-M#51) +52) ^N
“SLOPE”, “Үү INTCP"
3386 PRINT N.B
O PRINT
@ PRINT
@ PRINT
5 PRINT “EQUATION OF THE LINE
6 PRINT |
© PRINT “Y = “;М;"#х + (";B;"
© LET SY=SOR ((SO-(S2xs2) /N) 7
1))
© LET SX=SOR ((S4-(S1ks2) /N) /
1))
@ LET CC-MxSX.SY
@ PRINT
1 PRINT
=
pe
bal
Bar
=
чен,
—
Pan |
у»
E
рад
=
=
=
TX
Ud
=
3
5
5
5
5
S
5
3420 PRINT "COR. COEF. = ";CC
3999 RETURN
40080 REM ... LISTING ROUTINE
4005 PRINT HT @.9: "b ul S x
4290 GOSUB 1000
4225 СОТО 4000
4300 RETURN
a
LET YL=a
FOR I-C TO 63
PLOT I. ©
NEXT
FOR 150. TO 41
12
13
16
17
20
21
23
2d
^
5525 PLOT
200 сото 1
EE" » “H
vY“ THEN GOTO 5528
z528 FOR r=1 TO N
S838 LET XN-iXII)-XL)^(XH-XL) #41
SS4@ LET YN=(¥ (13 -YL}) 4 (YH-YL) #41
S560 PLOT XN,YN
36
Are you ready to put your ZX-81 to
work On some tough processing prob-
lems? Would you like to use your ZX-
81 in monitoring or control applica-
tions? Then consider the Wisconsinc
16K/32K memory board with I/O
ports.
The Wisconsinc memory board is de-
signed for economy and flexibility. We
offer kits ranging from a bare board
and edge connector for the budget
minded to a complete 32K with ports,
aluminum enclosure, and a power
Supply with sufficient capacity to
source 500 ma to peripheral loads. All
kits include complete schematic and
instructions for the 32K with ports to
allow easy expansion as your needs
change. or as your budget allows.
Wisconsinc 5 I/O ports consist of two
8-bit LS TTL input ports and two 8-bit
latching output ports. The ports are
readily accessed using BASIC PEEK
and POKE commands, or can be ac-
DON'T JUST EXPAND YOUR MEMORY.
EXPAND YOUR HORIZONS.
cessed at very high speeds with user
subroutines. The applications for ports
are limited only by your imagination.
With suitable external circuitry, they
are useful for data acquisition and
Storage, joystick interface, music
synthesizer, realtime clock inputs,
home security systems, environmen-
tal monitoring and control, and much
more. And the best part is that Wis-
consinc s ports may be added later as
the need arises; port kits come with
headers and ribbon cables.
Even if you don t need the ports, you'll
find Wisconsinc's 32K memory to be
easy to use, requiring only two simply
BASIC commands to move the stack
and re-initialize your ZX-81, providing
16K for BASIC programs and 16K
useful for large arrays and variables.
This allows the use of large arrays and
character strings, and will offer new
possibilities in scientific and business
applications, especially for engineer-
ing or accounting students.
16K memory kit ............... $99
32K memory kit .............. $134
PORE Lssesssdueurruk versus $32
Bare board, connecter ......... $45
16K add-on kit ................ $35
Kit repairservice .............. $20
Wisconsin residents add sales tax.
Please add $4.95 for shipping and
handling. Check or money order only.
Allow 4-6 weeks for delivery.
Get the most from your ZX-81, and put
the world within reach of your key-
board. Think about it. You can only do
SO much with software. Sooner or later
you Il wish you had ports.
WISCON
Wisconsinc Electronics
PO Box 332
Milton WI 53563
SYNC Magazine
JRS SOFTWARE
x
19 WAYSIDE AVENUE, WORTHING, SUSSEX, BN13 3JU eo
TELEPHONE WORTHING 65691 (Evenings and Weekends only) -—
As reviewed in ‘YOUR COMPUTER' .
arch 1982
16K RAM PACK
£35 ($69.95)
ASSETTE professionally recorded by
SOUND NEWS STUDIOS
GAMES PACK — Beat this for value! 5 x 16K ams PLUS 2 x 1K rams
3-D Battle (M/code-1K) — Fast moving space battle with continuous count down Maa)
of energy units left
City Bomb (M/code-1K) — Destroy the buildings and land your plane Your tuel
has nearly gone and you circle the city lower and l'ower
Warp Wars (Basic & M/code-16K) — features realistic space craft moved by M code for
(previously sold at Microfair with instant response WHY PAY
Sweet Tooth for £4.95) MORE
Snake (Basic-16K) — A game of thought and skill Pass through all the marked S
(previously sold at Microfair squares without crossing or doubling back on your path
for £3.95) but watch out for the expanding black blob
Sweet Tooth (Basic & M/code-16K) — M code routines used to move your fat face round the
screen and gobble the sweets
PLUS Slalom and Black Holes (previously sold together for £4.95)
An ESSENTIAL addition to your 1K RAM ZX81 (ог ZK 8K ROM)
(please which when ordering)
TOOLKIT (written by PAUL HOLMES)
Provides the following additional facilities
Line renumber yOu State starting number and increment value
Search and replace changes every occurence of a character as you require
Free space - tells you how many free bytes you have left
SPECIAL GRAPHICS ROUTINES
Hyper graphics mode graphics never seen on a 2Х81 before
Open instantly sets up as many empty print lines as yQu require (1K version only!
Fill used in conjunction with OPEN fills your screen instantly with your
specified character
Reverse changes each character on your screen to 115 inverse video
TAPE ROUTINE - provides a system WAIT condition until a signal is received in
the cassette ear jack - many uses !
Fully built, tested and guaranteed.
No additional power supply required,
black case
No wobble problems — fully
compatible with printer etc, etc
(Please send large S.A.E. + 50p fora
copy of 'YOUR OMPUTER' RAM
pack reviews (March 1982) —
Refunded when you purchase the
RAM pack). Please allow 21 days for
delivery
STOP PRESS
NOW AVAILABLE — 64K RAM pack
All these routines are written in machine code and together take up only
164 BYTES of your precious RAM an incredible achievement!
The price i$ incredible too! ONLY £3.95 ($7.90) for cassette, including FULL
instructions and example programs
ALSO available 16K version ONLY £4.95 ($9.90) which include. all the above PLUS
GOTO's and GOSUB's included in line renumber
Search for and list every line containing specified character (56К useable) £75 inclusive $139 95
(NEW) GRAPHICS TOOLKIT (Another masterpiece by PAUL HOLMES)
22
exciting MACHINE CODE routines that give you control over your screén as never before !
(ZX81 - 16K RAM ONLY)
DRAW/UNDRAW draws or deletes your SCROLL facilities
multi-character shape which is defined in a REM UPSCROLL
statement. You may define as many different DOWNSCROLL Scroll your screen in the
shapes as you like and draw or undraw each at RIGHTSCROLL direction indicated
will at whichever screen position you choose LEFTSCROLL
FOREGROUND ON/OFF use this to ‘protect’ ONSCREEN/OFFSCREEN turns your screen on or
existing characters on your screen. When on new off
shapes will appear to slide behind and re-emerge BACKGROUND ON/OFF
from other shapes Fills your screen by your specified character.
When foreground is on existing information is
BORDER/UNBORDER:'Draws a border round the unaffected and shapes will appear to pass in front
edges of your screen area. Edit lines can be used of your background, without deleting it
if required. Your border is protected when
foreground is on SEARCH AND REPLACE will search the screen fcr
every occurence of the character you specify and
FILL Fills any number of lines you specify, starting replace it with your new character
at any line you specify, by your chosen character
SQUARE draws a square or rectangle from your
REVERSE Converts all characters to their inverse specified co-ordinates
video, control as in FILL ALL these routines are in machine code for
SUPER-FAST response ! Simply load GRAPHICS
PRINT POSITION CONTROLS TOOLKIT, which repositions itself at the end of
UP u | your RAM, and then your own program (or key in
DOWN After your next PRINT position in a new one), GRAPHICS TOOLKIT uses only 2K of
LEFT the direction indicated your RAM and that includes space to load the
RIGHT programmers TOOLKIT described above (16K
EDITPRINT Moves next PRINT position to first RAM version)
edit line
This includes a cassette with 2 copies of the program
ALL FOR ONLY £5.95 ($11.90) plus a comprehensive instruction booklet with
(amazing value from JRS) examples
NOTE: All prices are fully inclusive — send checue or P.O. to JRS Software at above address
OVERSEAS солон» Payment may be made in Sterling (Money Order available at | Prices quoted above are also export
PLEASE NOTE your bank) ou $U.S. (U.S.A. customers only). prices and include AIRMAIL postage
USE OUR PLANS AND SAVE $$$$$
SYN
NCHBGNIRE YOUR SINCLAIR
KEYBOARD how to add a full-size keyboard
to a ZX/80 or 81.Includes instructions on how
to use any extra keys for Shift Lock, Automatic
shift, Automatic Repeat, and Reset. $5.00
POWER SUPPLY Running a little hot? Design
and build your own supply to fit your needs
at a fraction of wired price. Includes how to
estimate both present and future needs and
covers both single and multi-voltage. $5.00
BUSS Inexpensive exspansion system unlimits
your edge connector. $3.50
JOYSTICK Add popular Atari joysticks and
find out how much fun games can be. 2.
Send check or money order to:
SYNCHRONIZE
Box 1667
Kerrville, Texas 78028
PM ENTERPRISES
Proudly Announces The
MX-48
48K Expansion Memory
$169.00
COMES WITH POWER SUPPLY AND
EXPANSION CONNECTOR
Other Fine Products
MX-16 EXPANSION MEMORY $89.95
2118-7 16KXI MEMORY 1.С. $ 5.80
12VDC FILTERED POWER SUPPLY $19.95
WIRE-WRAP_SOCKET MODIFIED
FOR ZX81 | $ 7.50
48K and Power Supply Available June 1st.
Please Add $3.00 Shipping and Handling.
PM ENTERPRISES
4102 N 325 W
LAPORTE, IN 46350 (219) 326-7923
M.C./ CHECK/M.O./VISA/C.O.D.
EZRA GROUP II
EZRA GROUP II
The ZX81/80's are making a name
with LOW prices...
WE CHALLENGE THE SOFTWARE COMPANIES
TO LOWER THEIR PRICES!
for ZX81/ZX80/8K ROM
1K and 16K RAM versions
BIOHInVItiS. iexaseaheuwastsxenawtuk rema tarkas 1.00
Graphics Billboard
Horse Насе......................................... 1 00
SPINNER TM. (like Rubik's) 16K.
Skew-a-Sketch (like Etch)
Improved Pause (ZX81)
Linear Ќедгеѕѕіоп. .................................. 2.00
Linear Programming
Shootist
Self Addressed Stamped Envelope
Gets YOU our Goodies Catalog
ALL ORDERS AND CATALOG REQUESTS GET FREE
Galactic Messages PROGRAM.
EZRA GROUP II
EZRA GROUP II
P.O. Box 5222 San Diego, California 92105 (714) 584-8291
4K ROM
16K RAM
4K RAM
An Alternative Display Method
- Tank Battle
Drew Nisbet
Perhaps the greatest inconvenience
presented by the ZX80 to the person
programming in Basic is the loss of video
which occurs whenever the CPU is other-
wise occupied. While you are sitting.
perhaps not so patiently. waiting for a
display to appear. the amount of time
that the screen is blank seems much longer
than it actually is. This may be only mildly
Irritating when the program does not
depend on user interaction. However. if
the program involved is a board game
which requires that an ever-changing
playing arena be displayed repeatedly and
that the program interact with the player
to some degree. then periods of time spent
before an unimpressive. grey screen can
be fatal to the attention span of the
player.
The majority of board games written in
Basic for the ZX80 display the playing
surface by storing print codes in an integer
array and printing each member of this
array by means of a FOR/NEXT loop.
Any change on the board. such as the
movement of a token or the destruction
of a coordinate. requires that the screen
be cleared and that the display be re-
created. Generally speaking. the larger
the playing surface of a game. the better.
but displaying a board which uses a large
portion of the screen area by the method
noted above сап take up to 30 seconds.
Add to this the time required by the
computer to perform any calculations
which are required between displays and
you may wind up with the plug being
pulled on your program! In addition. any
prompts or messages displayed for the
players information must be kept to a
minimum. or the playing surface must
again be cleared in order to accommodate
them.
Drew Nisbet. 6 Moffatt Court. Toronto. Ontario.
Canada, M9V 4E1
38
Figure 1: Token Use Directions.
Symbol Meaning
+ Ávailable coordinate
E Destroyed coordinate
H Location of player's tank
> Location of computer's tank ?
Inverse X*
Inverse C
Player's tank destroyed
Computer's
о
о
tank destroyed
° Displayed at end of game
Although the most valuable use of the
PEEK and POKE commands may be to
program and debug ZX80 machine code
programs. they are extremely valuable
when employed in any Basic program as
tools for both examining and altering
memory location contents. After an initial
display has been created on the screen. it
may be examined or altered by PEEKing
or POKEing memory locations relative to
the address stored in the D-FILE pointer
(located in the two bytes starting at address
16396). The game program which follows
makes extensive use of this function.
The screen display for Tank Battle is
divided into two sections: the playing
surface. or board. which occupies two
thirds of the display. and a "message center"
Figure 3: The Tank Battle Program.
10 RANDOMISE
20 LET HO = RND(9) х 10 + RND(9)
50 LET HV = RND(9) 10 + RND(9)
40 LET HN = 0
950 LET CM = I
70 LET SH = 0
80 LET AS = "COORD:"
90 LET BS = "YOU WIN”
100 LET CS = "] WIN”
110 LET DS = "] FIRED"
120 LET ES = "FROM"
+
which makes use of the remaining third
of the screen and is located to the right of
the game board. This arrangement affords
the largest square playing area available.
The two sections are prominently separated
by a black line. The PRINT command is
not employed after the initial playing board
has been displayed as all alterations to
the playing surface are made Бу POK Eing
character codes into memory. АП prompts
and messages are displayed and erased in
the same manner. The longest period of
time during which the screen is blank is
approximately five seconds. the amount
of time depending on the number of lines
which must be deleted from the message
portion of the screen.
player's last coord=dummy
player's 2nd last coord-dummy
player's last move
computer's move
computer's target
“#” represents a space
“@” stands for the character shifted “Q”.
SYNC Magazine
Figure 3 (continued)
150 LET FS = ID
140 LET 6S = "PLAT:"
50 LET HS = "TIE GAME
160 LET IS = "GAME OVER”
170 LET Jẹ = “AGAIN
180 LET D = 5 player's beginning row
190 LET E = 8 player's beginning column
200 LET HL = 58 player's beginning coord
210 LET CL = RND(9) + 10 + 1
220 PRINT "3HHHHITANK BATTLE IBHICHPLAY : THEA”
250 PRINT "dHrliHibibibiEilr IRISH FI TAH C RRR EH TP ETRE IET
240 PRINT "4t";
250 FOR ] = I TU 9
260 PRINT "#";1;
210 NEXT J
280 PRINT "ЖСР HEHE TE Si HES
290 PRINT 7яННННЕННННННЕН НЕНЕН Е ҤНЕЕЕННЕНЕЕ”
400 FOR | = 1 TO 9
510 PRINT J 3 "ЕРЕ d+ ake de eb hip de EU
520 PRINT "dnHkiBEBHIHHEIEHNHBHEBEHIEHBBEI Caki iriri Pp T
$50 NEST i
: $55 FOR I = 1 TO 22
cone uA S 336 PRINT CHRS(121);
| уу... | ш; 337 NEXT 1
тое боз 12435 $40 LET Р = 67 + 66% ре E * 2
3166 ++++ ++ | | FIRED 350 LET M = 45 '"HU
+ +++ + M | FROM 62 560 GO SUE 1600 print player's location
+ Tren TO 68 570 INPUT М5 input play
т, s 380 IF NOT «MS = "M" OR MS = "S" OP if invalid ask again
з d MS = "") THEN GO TO 370 |
8 + + + + + + + +
о, ,,.,., 590 IF MS = "" THEN GO TO 800 if end of game branch
600 LET P = 29 print play selected
410 LET M = CODE(MS)
420 GO SUB 1609
430 LET P = 89 print “COORD: `
440 LET TS = А$
| | 450 GO SUB 1910
Figure 2 shows the screen layout after 660 INPUT C јара свого
both the player and the computer have 695 LET D = - £ 1D ni
taken several turns. The drawing is not to &ED LET E = C - D & 10 AC ORNA
scale as the playing board is really double (90 IF D « 1 OR D» 9 ORE« 1 OR E» 9 if invalid coord ask again
spaced both vertically snd horizontally. THEN GO TO 460 |
The . which does not print on the screen. 500 IF MS = "S" THEN CO TO 660 if shoot branch
is the point from which all PEEKing and 510 LET G = HL / 10 player's row
POKEing is done in order to examine or 520 LET H= HL- G * 10 player's column
| alter the board contents. The address stored 530 IF ABS(G - р) > 1 OR AàES(H- Е) > 1 if illegal distance ask again
in the D-FILE pointer and 67 (32 print THEN GO TO 4€0
codes plus 1 newline character times 2 9340 LET P= 67 + 66 * D+E * 2
plus | print code on the third print line 550 IF PEEK(PEEK(16396) + PEEK(16397) if illegal coord ack again
equals 67). The address for any coordinate * 256 + P) = 128 THEN CO TO 460
on the board is determined by multiplying 960 GO SUB 1620
the row coordinate by 6 (2 times 32 print 970 LET P= 67 + 66 * G+ H * 2
codes plus | newline character). adding 2 S80 LET M = 19 bad
times the column coordinate (for the 370 GO SUB 1600 blank player's old position
horizontal double spacing) and adding 67 600 LET HL = : ЕС соога = new coord
(for the reference point) to the contents BI MET P = М AR AP EJ E
| of the D-FILE pointer. Alterations to the ile SUN З А mE
| . АКША . ‚ 650 GO SUB 1600 display playor' s new position
| message portion are accomplished by ; Е i
| = р TERNI e rt 640 LET HM = 1 play = move
POR Emig ше appropriate character cot 650 GO TO 890 branch to computer's turn
into memory locations relative to the 660 GO SUR 1620 gressus edd
contents of the D-FILE pointer. 670 LET P = 62- 66 D* E 2 i
The program uses the subroutines at 680 LET M - 128 m
lines 1600 and 1910 to accomplish the 690 GO SUB 1600 display hit coord
above. The subroutine at line 1600 alters 700 LET HM = 2 play = shoot
any memory location by POKEing a T10 LE? HD = HL let old coord = present coord
character code M into the location relative 720 GO TO 890 branch to computer's turn
to the contents of the D-FILE pointer by 730 LET Р = 352
an offset of P locations. The subroutine 740 LET T$ = JS print 'GAME OVER‘
at line 1910 POKEs the message codes 750 GO SUB 1910
into consecutive memory locations by 760 INPUT YS input yes or no
May/June 1982 39
examining the strings (TS) one character
at a time. Lines 1430 - 1560 POKE zeros
«code for a space) into any line which
contains non-blank characters in the
message portion of the screen. The routines
located at lines 1620. 1690. 1970. and 2010
display the coordinates selected by the
player. the shots fired by the computer.
the player's tank when destroyed and the
computer's tank when destroyed respec-
tively.
The game itself was inspired by Lloyd
Johnson's article "Paint Duel" in Creative
Computing (July 1981). The player attempts
to destroy the computer's tank by hitting
it with a well-placed shot. The two plays
available are Shoot or Move. The player's
initial location is row 5 column 8. The
computer tries to destroy the player's tank
in turn. The starting location for the
computer's tank is in the first column and
a random row. After specifying the play
selected the computer requests the coor-
dinates of the target and then displays
them in the message portion of the screen.
A shot shows up on the screen as a "EJ"
placed at the coordinates specified. A
move is legal only if made to a coordinate
directly above, below. left of. right of. or
diagonally adjacent to the present location.
A tank may not move to a coordinate
which has previously been shot at.
The computer's play is determined by
the following odds:
1) 10% chance it will do nothing.
2) 10% chance it will shoot.
3) 70% chance it will move if it shot last
turn.
4) 70% chance it will fire if player shot
last turn.
5) Move.
These odds can be altered by changing
the values in lines 890 - 920 of the program.
The computer is prevented from firing at
a coordinate which has already been shot
at by PEEKing into the memory location
for the coordinate selected and comparing
its contents to 128 (black square). The
tanks are prevented from moving into a
hit square in the same way. Both the
players and the computer's plays are
completed simultaneously. which allows
the possibility of a tie game if both tanks
are destroyed on the same turn. Each
player learns of the position of the oppo-
nent's tank only if he is fired upon. If the
computer decides to shoot. it will place
its shot into a coordinate which it knows
the player may have moved to. To end
the game press NEWLINE when requested
to play.
Ed. —For those who do not wish to enter
the listing, it is available from the author
on cassette. Write for information. "a
40
920
930
940
950
960
970
980
990
1000
1010
1020
1030
1040
1050
1060
1070
1080
1090
1100
1110
1120
1150
1100
1150
1160
1170
1180
1190
1200
1210
1220
1220
1240
1250
1260
1270
1280
1299
1500
1310
1520 С
1540
1540
135
1560
1570
1580
1390
Figure 3 (continued)
IF YS = “N” THEN STOP
CLS
RUN
LET D = CE Z 10
LET E = DL = D. * 10
LET P= 67 + 66 * D +62 2
LET M = 40
GO SUB 1600
LET Р = 287
ЕР TS Is
GO SUB 1910
GO TO 730
LET X = RND(10)
IF X» 9 THEH GO TO 1140
IF X « 2 THEN GO ТО 1020
IF CM = 2 AND RND(10) > 3 THEN
GO TO 920
IF HN = 2 AND RND(10) > 3 THEN
СО TO 1020
LET D = CL / 10
LET E = С = D € 10
LET 9. D + RNDCS) = 2
LET T = E + RNDCS) = 2
IF S&S « I DR 5 > 9 OR T « 1 DE
T > 9 THEN GO TO 940
LET P = 67 + 66 я 65 + T # 2
If РЕЕК(РЕЕК 16396) + PEEK( 16397)
* 256 + P) =
LET CL S x I0 * T
LET CM 1
GO TO 1140
LET D = HV / 10
LET E = HV - D ғ 10
LET S = D + RND(3)
LET T = E + RND(3)
= 2
= 2
128 TEEN GO TO 900
IF >< 1 OR S> 9 DE T « 1
OR T» 9 THEN CO TO 1040
67 + 66 + S^ T ¥ 2
IF PEEK{PEEK( 16596) + PEEKCL6297)
LET P
> 256 + P) =
LET SH- S х 104+ T
LET M = 128
GO SUR 1600
GO SUR 1690
128 THEN GO TO 1040
LET АЙ 2
IF HM = 2 AND С = CL THEN GO TO 1170
IF CM = 2 AND SH = HL THEN GO TO 1230
GO TO 1390
IF CM = 2 AND SH = HL THEN GO TO 1230
GO SUE 1970
LET P = 287
LET T$ = BS
GO SUE 1910
GO TO 730
GO SUB 2010
LET P = 287
LET TS = CS
GO 508 1910
LET D = CL 10
27-Е = CL = ж 10
LET P 67 + 66 "D +E = 2
LET M = 40
GO SUR 1600
СО TO 730
GO SUE 1970
GO SUE 2610
LET P = 287
LET 15 = H$
GO SUB 1910
GO TO 739
LET P = 287
stop if no replay
run if replay
display computer's location
print ‘GAME OVER"
ask for replay
10%
10%
70%
do nothing
shoot
move
chance to
chance to
chance to
70%
chance to shoot
computer moves
if invalid coord
if illegal coord
computer's new location
c
computer's play = move
branch to request next play
computer shoots
if invalid coord
if coord already hit
coord of target
"ре"
display computers shot
computers play = shoot
if computer's tank hit
if player's tank hit
if no hits
if both hit
display computer's hit tank
print 'YOU WIN’
branch to ask for replay
display player's hit tank
print ']
display computer s location
C»?
branch to ask for replay
computer's hit tank
"= hit tank
display
display player
print 'TIE
branch to ask for replay
SYNC Magazine
———M——ÀÀ——— c FE 3 (continued)
1500 LET TS = GS
1410 GO SUB 1910
1420 INPUT MS
1430 LET М = 0
1440 LET P = 29
1450 GO SUB 1600
1460 LET P = 89
1570 IF NOT PEEK(PEEE(16296) + PEEK(16597)
* 256 + P) = 0 THEN GO TO 1500
1490 LET Р = P + $3
1490 GO TO 155
1500 FOR 1 = 1 TO 8
1510 POKE РЕЕК( 16596) + PEEK(16397) * 256
1520 LET P= P = ]
1530 NEXT |
1550 LET P = Р + 25
1550 IF Р > $20 THEN GO TO 1570
1560 GO TO 1470
1570 LET HV = HO
1580 LET HN = HM
1590 GO TO 380
1600 POKE PEEK(16396) + PEEK(16397)
и 256 + Р.И
1610 RETURN
1620 LET P = 95
1630 LET M= D + 29
1640 GO SUB 1600
1650 LET P = Р +]
1660 LET M = E + 28
1670 GO SUB 1600
1660 RETURN
1690 LET P = 155
1700 LET TS = DS
1710 GO SUB 1910
1720 LET P = 188
1750 LET T9 = ES
1740 GO SUB 1910
1750 LET P = 193
1760 LET M = CL / 10 + 28
1770 GO SUB 1600 .
1780 LET M = CL = {CL / 10 ) * 10 + 28
1790 LET P e P œ+]
1800 GO SUB 1600
1810 LET P = 221
1820 LET TS * FS
1850 GO SUB 1910
1840 LET P = 224
1850 LET M= 5 + 28
1860 GO SUB 1600
1870 LET M= T + 28
1880 LET P = P + 1
1890 СО SUP 1600
1900 RETURN
1910 LET M = CODE(TS)
1920 GO SUB 1600
1950 LET TS = TLSIETS)
1940 IF TS = "" THEN RETURN
1950 LET P = P + ]
1960 GO TO 1910
1970 LET P = 67 + 66 * TCL / 105 + 2
* (LL = (CL Z 10) * 103
1980 LET M = 168
1990 GO SUB 1600
2000 KcTURN
2010 LET P = 67 + 66 * (HL / 10) + 2
* (HL = (HL 7 10) * 10)
2020 LET М = 148
2030 GO SUB 1600
2040 RETURN
SYNCSUM = 125 4K ROM 4K RAM
May/June 1982
print
"PLAY: "
input
p ] ау
blank
out old play message
blank eut all messages
lines which are non-hlznec
+ PIU
2nd
last play = play
last location = last
yo display next play
poke character code in memory
poke coords in message section
display computer's shot
print '] FIRED’
print ‘FROM’
print coords
print ‘TO’
print coords
print first character of
string
shorten string
if all done return
branch to print next character
print computer's hit tank
us
inverse
print player's hit tank
" * Li
inverse >
Z80 TUITION
USING A 1K ZX81
FOR
MACHINE CODE
PROGRAMMING
8 Part fortnightly postal course also
includes details for adding RAM EPROM
HEX KEYPAD LCD DISPLCD DISPLAY
& PROM PROGRAMMER.
Course price $49.00 U.S.A./Canada
£21.95 U.K.
Or send $3.50/£1.50 for 280 Instruction
Codes and Course Syllabus.
ANDOVER SOFTWARE KITS
15 Winchester Rd.,
Andover.
Hants SP10 2EG.
England.
ZX-81/1K
LISTINGS OF 5 GAMES — $2.00
Z—GAMES
P.O. Box 267
Ringoes, N.J.
08551
Searching for software? Get
creative computing
1982 Software
Buyers Guide!
The new 1982 SOFTWARE BUYERS
GUIDE from the Editors of Creative
Computing gives you all the facts you
need to make the right software
purchasing decisions. The BUYERS
GUIDE covers applications and systems
software, with reviews of more than 150
programs! There’s even a Directory of
Manufacturers, cross-referenced to type
of computer. —
Get the information
you need and save
time, trouble and
money. Get your copy
of the 1982 SOFT-
WARE BUYERS
GUIDE today!
Only $3.95!
creative compatiog |
SOFTWARE <
BUYERS GUIDE 1
Software Buyers Guide
P.O. Box 340
Broomall, PA 19008
Please send me the Creative Computing 1982
SOFTWARE BUYERS GUIDE. | enclose $5.00 ($3.95*
plus $1.05 postage and handling). $6.00 outside U.S.A.
Mr./Mrs./Ms. .
(please print full name)
Address Apt.
City
State/ Zip
* Residents of CA, CO, CT, DC, FL, IL, MA, MI, MO, NJ, NY
State, OH, SC, TN and VT please add applicable sales tax.
41
[ESOUICES —À|
Users Groups
Central Pennsylvania Interest Group
Meets every Tuesday at 8:00 p.m. 321
Bouche Bldg., Penn State U. Campus,
State College, PA. Initiator: Bill Russell.
Phone: 814-364-1325.
Club ZX 80/81
Chemin du Moulin 38
B - 1328 OHAIN
Belgium
SAM BAM (Sinclair and MicroAce Bay
Area Microcomputer Users). Users
"living in the Golden Triangle around
Tampa Bay and along the golden suncoast
of Florida" are invited to write for infor-
mation. Locating users in the area is the
immediate task.
SAM BAM
c/o Mel Routt
PO Box 596
Safety Harbor, FL 33572
Memphis, TN, ZX81 Users Group just
getting started. Contact:
James Barker
3791 Barron Ave.
Memphis, TN 38111
Phone: (901) 327-2158
Voltage devices
VOTEM for ZX81/ZX80. 8K ROM.
Read voltage and temperature with
extremely high sensitivity. Voltage range
easily adjusted for wide variety of applicat-
ions; temperature range: -25 to 125 C;
self-contained and low power unit attaches
directly to ZX80/81 with no hardware
modifications; all calibration done in
software; audio and visual tape load
monitoring capability; circuitry for am-
plifying and conditioning tape signal.
Software runs in IK RAM. Kit, $39.95;
assembled and tested, $59.95.
Down East Computers
PO Box 3096
Greenville. NC 27834
Protect all ZX80/81 ICs if voltage regulator
fails by crowbar and fusing. Schematic.
$2.00; with parts. $15.00. Schematic for
precision setting of cassette output level.
$2.00.
Arnold J. Gold
820 Prospect Ave.
Hartford. CT 06105
42
Books
Word Processors & Information Proces-
sing: A Basic Manual on What They Are
and How To Buy. by Dan Poynter. $11.95
from:
Para Publishing
PO Box 4232-88
Santa Barbara. CA 93103-0232
Phone: (805) 968-7277
Memory Expansion
RKL-16K RAM. $79.95; expandable to
32K whenever desired. RKL-32K RAM,
$149.95. Upgrade 16K to 32K. $79.95.
Add $4.95 s&h and 5% tax in Mass.
RKL Systems
PO Box 515
Leominster, MA 01453
Joysticks
RKL-J1, single joystick system. $69.95;
RKL-J2. dual joysticks. $89.95. Upgrades:
RKL-U2. adds RKL-J1 to RKL-32, $59.95;
RKL-U3 adds RKL-J2 to RKL-32, $79.95.
Add $4.95 s&h and 5%
RKL Systems
PO Box 515
Leominster, MA 01453
tax in Mass.
Publications
SYNCHRO-SETTE. a monthly magazine
with bi-monthly cassette containing at least
six programs for the ZX81 or ZX80(8K
КОМ) user. One year. $39.50. Visa and
MC. For more information call 24 hr. toll-
free hotline. 800/543-1300 (in Ohio.
800/582-1364). ask for operator 383.
S & S Company
388 W. Lake St.
Addison. IL 60101
Phone: 312/628-8955
Micro Moonlighter Newsletter wil provide
techniques. tips. and guidance to those
who wish to make money with their
computer knowledge. Among the topics:
Marketing methods. advertising hints, the
ins and outs of contracts. books. Sub-
scriptions: $25 for 12 issues ($29 in Canada;
$35 worldwide). Visa and Master Charge
welcome. Send inquiries to:
J. Norman Goode
2115 Bernard Ave.
Nashville, TN 37212
/ ХІ Sourcebook (TM)
A catalogue listing software and hard-
ware for the 4 Х81. For information on
getting listed and getting copies. contact:
Micro Design Concepts
PO Box 280
Carrollton, TX 75006
The Index covers over 40 magazines and
newsletters in the home/personal computer
marketplace and includes over 12.000
articles indexed by using the key words of
the titles. For information and ordering
contact:
Missouri Indexing, Inc.
P.O. Box 301
St. Ann, MO 63074
Phone: (314) 997-6470
ROM Disassembly
The ZX80 IK Disassembler for the 4K
ROM ZX80.
The ZX61 IK Disassembler for the ZX81
and 8K ROM ZX80.
To begin disassembly of ROM or MC
program, enter starting address, a key is
calculated and displayed. manual then give
mnemonic, all numbers displayed in deci-
mal, about 100 bytes of RAM to store
MC program for disassembly; RAM mem-
Огу test provided; addresses of bytes failing
the test are displayed. Manual. reference
cards, and cassette with the disassembler
and memory test programs. $9.95 pp.
Further information and catalog upon
request.
Lamo-Lem Laboratories
Box 2382
La Jolla. CA 92038-2382
Programs
8K ROM; 16K, IK. Games, utilities, tech
prog.. household. and more. For details
send SASE to:
NGM INC.
PO Box 18702
Okla City, OK 73154 a"
SYNC Magazine
Software Review
ZX Galaxians martin wren-Hilton
к= |
SOFTWARE PROFILE
Name: ZX-Galaxian
Type: Arcade fantasy
System: ZX81; ZX80 8K ROM,
SLOW mode; 4K RAM
Format: Cassette
Language: Z80 Machine Code
Summary: A challenging game and a
good implementation of
the arcade game
Price: £3.95; £1.00 s&h for U.S.
Manufacturer:
Artic Computing
396 James Reckitt Avenue
Hull, N. Humberside HU8 OJA
United Kingdom
ZX81 OWNERS with 16K RAM!
IT'S READY---ARE YOU?
$14.95 +
2.50 S&H
QUT FIG).
If so, you get:
*24-row/full-screen displays
*Nearly 2K of machine code
for FAST real-time graphics
*A 4K Star Atlas as the moving
backdrop during enemy engagements
ZX-Galaxians is a good adaptation to
the ZX81 of the popular arcade game of
the same name. You are being attacked
in deep space by formations of hostile
Galaxians, and it is your mission to prevent
them from attacking Earth by zapping
them with your laser gun as they break
out of formation and hurtle towards you.
After being loaded, the game runs
automatically. The title appears in large
letters at the top of the screen, a bit of
information about the game is showu, and
you press any key to start. Four rows of
eight galaxians appear hovering above your
base. On the right side of the screen you
will see the details of which buttons to
press, what the current score is, what the
high score is together with the name (up
to six letters) of the high scorer, and a
graphical representation of how many ships
you have left.
Martin Wren-Hilton, U.K. Correspondent to SYNC,
4 Little Poulton Lane, Poultonle-Fylde. Backpool,
FY6 7ET, United Kingdom.
*9-еасһ fuel and skill levels that
The thirty-two galaxians move left to
right and back again. Your controls are 5
for left, 8 for right and 0 for fire. Occa-
sionally one or more galaxians break out
of the formation and dive about the screen,
dropping bombs as they go. You get 10
points for each galaxian shot in formation
and 20 points for those shot in mid-flight.
The movement of your base is very smooth
due to good use of the ZXSI's graphics.
When your base gets hit either by a galaxian
or by a galaxian's bomb, the explosions
are quite good.
Unlike the real Galaxians (TM), this
game does not have the starry background.
In addition the formation is rectangular.
The letter "V" is used to represent the
galaxians, and those flying around the
screen are made up from the graphic
symbols on letters Q, W, E and R, de-
pending upon their direction of flight.
If you are a keen arcade player, then
ZX-Galaxians is for you. It is the best
version of this game that I have played,
and makes good use of the ZX81’s graph-
ics. a”
16K Programs for either ZX80-8K or ZX8l
*PLANE FRAME-modelling for engineers
*FUNDAMENTAL ANALYSIS-for stocks investors
*POLSAT & GEOSAT-space age Ham Radio uses
*MATH PAK-Routines & Fit, Variance Analyzer,
Statistics, and RPN Calculator
, *E.S.P.-test your precognition
*Many others plus 6 1K 6-paks
including Machine Code
WRITE for free catalog. (In
Europe, send U$1 bill or DM2 stamp:
DELTASOFT/Osterfeldstr.79D/D-2000 Hamburg 54 GER)
Mail coupon or copy with payment to:
1 ] li 1 Hu
vos T АГИ га inl ИЙ © IZETA Software/PO Вох 3522/Greenville,SC 29608
no gun power, or no shields. 1 way & |
to win----destroy ALL enemy craft. £ A M is 5... сеек a E
*An enemy data generator imbedded in ^ ifor —— copy(ies) of SCOUT FIGHTER 2X81 16K
the run as part of the "action" Sd jplus $2.50 S&H for the order,
*'Blink"-less pauses in BASIC ee | NAME
*Stick-on/peel-off custom keys x >
*In-depth booklet explaining both са Ф | ADDRESS
the "game" and the program о 5 |
*Shipped on a certified cassette CITY/STATE/ZIP
1 copy each side
Please allow 4 weeks if paid by check.
May/June 1982 43
4K ROM
1K RAM
Since I have always loved video space
games, I have been looking for some game
that could possibly fit into my limited 1K
of RAM. The product of several hours of
often exasperating labor is Space Warp,
which runs in 1K without any problems if
entered as specified.
The objective of Space Warp is to reach
your base before running out of fuel. In
order to do this, you must think ahead and
consider how your speed will affect your
fuel consumption. The distance to the base
is 1000 miles, and you have 100 fuel units
initially. Your speed, measured in warp
factors as per Star Trek, has a direct bearing
on your fuel consumption. Warp factors
range from 1 (slowest) to 15 (fastest). Each
turn, you will be asked to enter a warp
factor. A read-out of fuel remaining,
distance remaining, velocity, and warp
factor as of last turn is also displayed.
After entering the warp factor, you will be
asked “DIRECTION?” Input F to move
forward towards the base or R to reverse.
Armando Fox, 62-23 Cromwell Crescent, Rego
Park, NY 11374.
S PACE WARP 27s A
e aU
LE X" 2 3 HRS G i "ns
С^ gum Ё EE
i
i © i
ae hee m ы ses WR
Armando Fox
The reason for reversing will be discussed
below. When this has been done, one of
two things will happen.
If you are unlucky, an enemy satellite
dispatched from a nearby base will harass
your approach. This will appear as a double
asterisk (**) at the rightmost edge of the
screen. If you do not watch out for these
satellites, they “eat” a random number of
fuel units. This is often the downfall of
many players. However, if you are going
at warp 7 or less, you will be asked
“RETREAT?” Answer Y or N. If you
retreat, you will of course lose distance as
well as fuel, but the enemy satellites cannot
harm a retreating ship, so retreating does
pay off as a strategy technique. If you
decide to retreat, the appropriate fuel (and
distance) will be added into the next
calculation; if you decide not to, the enemy
satellite will “eat” a random number of
fuel units.
Next (or first, if no satellite came after
you) the screen will clear and then redisplay,
hopefully with your ship farther over to
the right, indicating that you have moved
ZX81 PERSONAL BANKING SYSTEM
WITH LOAD/SAVE DATAFILES
AT DOUBLE SPEED
closer to the base. The readout will again
be displayed, and the “WARP” and “DIREC-
TION” prompts will wait for input.
This turn sequence continues until one
of three things happens:
1) You reach the base and stil] have
fuel, and the message "HOME FREE" will
appear near the center of the screen.
2) You will reach the base without any
fuel, drift, and collide with it—your ship
will break up into several pieces.
3) You run out of fuel before reaching
the base, and the game will stop with error
code 9/460. If you want to know how far
you actually travelled, subtract the distance
on the screen from 1000.
Entering the Program
This program runs in 1K, but it must be
entered in two parts. The first part is the
"set variables" section shown in Listing 1.
Enter this short program and RUN. Enter
the following values to be POKEd to the
REM statement in line 1: 0, 3, 10, 0, 0, 132,
128, 150, 139; 10, 0; 132, 3, 133, 6. Then hit
LIST. Line 1 will look like a jumble of
graphics symbols; these draw the ship.
Now delete lines 40 through 70 (not 1
through 30) and continue by entering the
main program in Listing 2. To run the
program, simply type RUN; since the
graphics are stored as a REM statement,
there is not much that can cause these
variables to be cleared, except for NEW.
"n
Load the program in the normal way—enter, amend or delete your
transactions (ZX81 will automatically scan standing order file and post
any items due)—save the file of data onto cassette in 45 seconds—load
a different datafile into the same program, also in 45 seconds—enter
Items, etc.—save datafile only onto cassette (45 seconds)—repeat
operation for any number of accounts.
Absolutely no need to save program, as all information is held in data-
files. Very easy to use—unlike other bank accounts. Requires a mini-
mum of 16K RAM—can use much more (no modification required).
On Demonstration at the next ZX Micro Fair.
The personal Banking System also includes the following features—
Full page detailed Bank Account, dual display (or printout).
Automatic generation of standing orders on due dates.
Validation of all entries.
a any item previously entered. (Single/Multiple field correc-
tion
Enter an item (previously omitted) in the correct date order of the
account.
Single key operation. Utilises a M/C keyboard scan.
Search for any item or items by cheque number, description or
amount—display (and printout if required) with totals.
Continuous display of statement extract, continually updated dur-
ing input of entry.
File of standing order details can be displayed, printed, added to,
cancelled and amended.
Detailed User Manual.
After sales maintenance.
Send £9.95 ($20) incl. for cassette and users manual to J.P. Gibbons
A.I.B., 14 Avalon Road, Orpington, Kent, BR6 9AX, England. (Send
large S.A.E. for details).
There are only two suppliers of supported ZX81 software, this is one of
them. Be sure to include your name and address.
Coming soon: Bank Reconciliation Module—a separate program on
cassette that utilises data supplied by the main program
(S.A.E. for full details).
The only expandable system for the ZX81.
The Personal Banking System is also available from the Buffer Shop,
Streatham, London and Branches of the Computer Bookshop Group,
full maintenance still available.
KOPAK GIVES
YOU THE POWER!
KOPAKTM is now offering The Source*
‘America’s Information Utility’. The
Source* gives you the power to access
a wide array of services including:
e Barter • Shopping * Business Infor-
mation e Career Network * Electronic
Mail e Medical Advice e UPI News
$9.95 Service and much more. A modem is
required to use The Source*.
Source ID $100.
KOPAK'STM Touch-A-Matic gives you
the power to type more accurately and
much faster. No wires, no soldering,
simple to install. Our unique vinyl over-
lay guides your fingers to the correct
keys. Touch typing now possible with
your Sinclair* or MicroAce* !
The KOPAKTM Sinclair* female Con-
nector gives you the power to use the
2-80 bus. Edgecard connectors specif-
ically made for Sinclair* computers.
e 46 Pins, 23/23 * All pins are gold
plated e polarizing pin for correct
alignment everytime! Available with The KOPAMATICTM Keyboard
Solder-Tail, Wire-Rap and PCBoard. The KOPAKTM Printer
$14.95 KOPAKTM Memory Products
The KOPAKTM Disc
More POWER on the way! KOPAK'STM
Coming Creations:
The KOPAKTM RS-232 Interface
The KOPAKTM Bus
‘KOPAK has the POWER to deliver! ’
Order by Phone or Mail,
Charge it with MasterCharge or Visa © 1982 KOPAK Creations Inc.
KOPAK Creations Inc. TM Trademark of KOPAK Creations Inc.
Dept. SY sinclair* is a trademark of Sinclair*
448 West 55th Street Research LTD.
New York, NY 10019 MicroAce* is a trademark of MicroAce*
(212) 757-8698
Listing 1: Setting the Variables. — Žž — — — — — ——————— ——— — — Sample Run
1 REM XXXXXXXXXXXXXXX (15 X'a) 40 FOR X=16427 TO 16441
10 LET D=1000 SO INPUT Е
20 LET Dzzo 60 FORE X, Е
30 LET F=100 70 NEXT X WARP?
—— 6 (NL)
DIRECTION?
Listing 2: Space Магр. | F (NL)
ee aca оа (screen cleared)
110 INFPUT W 380 PRINT CHRE (PEEK (16426+N)); WARP FUEL VELOC
120 IF W15 OR Wei THEN GO TO 390 NEXT X 2 do 27
110 400 РКІМТ 7 ш
130 PRINT "DIRECTION?" 410 LET X=X+4
140 INFUT D$ 420 NEXT X
150 IF NOT (D£$-"F" OR D$-"R") T 425 FOR L=1 TO 25
HEN GO TO 140 420 PRINT "d";
200 LET FzF-UWXRND CX) z5 NEXT L
210 LET V=(W/2) * CRND(S) +5) 440 FRINT CHR (5)
220 LET різу (ило) 50 IF S THEN GO SUR 600
230 IF D$z"R" THEN LET Di--Di 460 IF Fei THEN STOF WARF?
240 LET р=р-рі 470 IF Dei THEN GO TO 500 10 (NL)
250 LET So 480 GO TO 100 DIRECTION?
шо IF RND(6)=6 THEN LET S-226 500 PRINT , "HOME FREE" F (NL)
270 LET D2=D2+Di 510 STOF
280 IF DJO THEN LET Dzo 600 IF W7 THEN GO TO 660 (screen cleared)
290 CLS 619 PRINT "RETREAT?"
S00 PRINT "WARP", "FUEL", "VELO 620 INFUT D$ WARP FUEL VELOC
C^, "DIST", Wy Е, V, D 630 IF D$-"N" THEN GO TO 660 10 572 40
AO FR INT 640 LET р=р+уж (W/ 2)
330 FOR X= -4 TO 6 645 LET F=F—-W
340 FOR J=i TO D2/40 650 GO TO 670
350 PRINT "st"; 660 LET F=F- (RND (5) X ZU)
360 NEXT J 670 RETURN
THE EXPLORER'S
GUIDE TO THE
ZX81
If you have ZX81 then you need this
book (120 Pages).
1K and 16K Programs.
Games and Application.
RAM and I/O Circuits.
Programming Hints
ROM Routines.
$11 from:
TIME DATA
3-Waldon Road .
Califon, N.J. 07830
Enclosed | | | | Check/MO.
Name
Address |. |. |
City |. | | Stete | Zip
TURN YOUR COMPUTER
INTO AN ELECTRONIC WORKSHEET!
NEW SPREAD SHEET PROGRAM —
FEATURES:
Z 27 COLUMNS X 40 ROWS .
„АШ NORMAL CALCULATOR
FUNCTIONS .
ЁК .PLUS TIME SAVING SUMMATIONS
С OF ROWS AND COLUMNS .
e SPECIAL SAVE FUNCTION .
e MENU DRIVEN .
e ON CASSETTE WITH
USERMANUAL .
FOR ZX-81, 80 (8K, 16K) .
PRICE: $16.00 ADD $1.50 POST. &
HANDLING MAIL CK. OR M.O. TO:
SOFTWARE APPLICATIONS
Р.О. BOX 1922
ATASCADERO, CA. 93423
ананан te t BA Бы ананан ар аайын QUU UU, UU EO AR UU UB GUN ы и ы UI ка QU UU, UO M, MR tu JN M
4K ROM
1K RAM
Storing 3-Letter Words in an Array
I wanted to develop a method of storing
as many three-letter words as possible in
my ІК ZX80, using as little memory as
possible. The solution is based on the fact
that character numbers of the letters can
be compounded into a single number, which
can be stored in an array element. Thus
three letters can be stored in two bytes.
Listing 1, The Word Storing Routine,
sets up arrays which are used in Listing 2,
The WORDY Program.
The technique takes the character
numbers of the letters in a word; subtracts
36, then multiplies by 1 for the first letter,
30 for the second letter, and 900 for the
third. Then the three are added together
so that they can be stored as a single number,
which must not exceed 32767, hence the
-36 in line 14. Line 18 ensures that a space
keeps its code number of 0, and a nul
string is treated as a space. This allows
one- or two-letter words to be stored if
desired.
Line 20 does the multiplication and
addition, and the numbers representing
the words are stored in Array S(). The
maximum number of words this program
can hold is 175.
When the words have been stored, the
whole of the word storing routine can be
deleted. But remember never use RUN, or
the words will be lost. The words could be
stored at this stage, but it is better to get as
much as possible of the main program
entered first.
Having entered Listing 1 and checked
the SYNCSUM, which should be 18, enter
Listing 2, starting at Line 32. The first part
of Listing 2 cannot be entered until you
F. W. Manders, 24 Horton St.. Lincoln, LN2 5NG,
UK.
46
F. W. Manders
are finished with Listing 1. Check the
SYNCSUM again at the end of Listing 2. It
should be 57.
Now you are almost ready to store your
175 words, but first the SYNCSUM Routine
must be removed as we need the 27 bytes
it occupies. We also need to store the
program on tape at this stage, so we can
kill two birds with one stone, as they say.
When you have it safely on tape, enter
NEW and then reLOAD from the tape.
Enter RUN and the screen will display:
ENTER WORDS
0
Now enter a 3-letter word (e.g., AND)
and the screen will display:
0 AND
1
Continue entering words until all 175
have been entered. Then the error code
9/26 will be displayed. Press any key and
the program listing will appear. Delete
lines 1 to 26 and enter lines 10 to 30 of
Listing 2.
When you have saved the completed
program on tape, you are ready to start
playing “WORDY,” which is a 3-letter word
Listing 1: The Word Storing Routine
DIM A(2)
DIM B(2)
DIM CZ
DIM S8(174)
PRINT "ENTER WORDS"
FOR I-O TO 174
FRINT I
INFUT U$
CLS
FRINT I, U$
FOR J=0 TO 2
14 LET A(J)=CODE (U$) -36
16 LET U$=TL$ (U$)
18 IF A(J)< 2 THEN LET A(J)=90
20 LET S(I» =5(1) *A(QD X3O0XXJ
22 NEXT J
24 NEXT I
26 STOP
SYNCSUM = 18
p
Hj O00 Qc 0 Sa he
pt
x
Listing 2: The WORDY Program
LET WzRND(t173)0-1
LET W=S (W)
FOR I-o TO 2
LET J=2-I
LET K=30xkxkd
LET ACJ) =W/E
| LET W=W-ACI) ЖЕ.
IF ACJ) AL THEN LET АЈ) =
ACJ) +26
NEXT I
FRINT
FRINT
FOR Ј=1 TO 10
LET D=0
INPUT U$
PRINT ОФ: "#" 5
FOR [=O TO 2
LET C(I) =CODE (US)
LET U$=TL (US)
LET BCI) =ACT)
NEXT I
FOR I=0 TO 2
IP C(I)-B<(I)
LET р=р+і
LET СІ) =5
LET ВІ) =2
FRINT "ж"; 3
МЕХТ І
FOR I=0 TO 2
FOR k=0 TO 2
IF CD -EBCI)
LET Ctk523
LET B(I2-Z
FRINT о;
"WORDY"
THEN GOTO 62
THEN GOTO 82 1
' NEXT К
NEXT I
FRINT
IF D=3 THEN GOTO 90
NEXT J
PRINT
| FOR I=0 TO 2
PRINT CHRE (ACT) Ds
NEXT I
PRINT "#" 3) J
SYNC Magazine
version of "Mastermind." Enter GOTO
any number up to 10, but not RUN or the
words will be lost. Enter your word and
NEWLINE. If you think the answer might
be a 2-letter word, enter a space for the
third letter.
The program uses the multiplication sign
to indicate a direct match and the zero for
an indirect match. It allows up to 10 tries
and prints out the correct answer and the
number of tries needed, showing 11 if you
have not solved it by the tenth try.
The word selection and unscrambling
routines are contained in lines 10 to 26.
The selected number is divided by 900,
i.e., 30**2, to'find the character number of
the third letter. Then the remainder is
divided by 30 for the second. The final
remainder gives the first— when they have
each had 36 added at line 24. The rest of
the program is, I think, fairly conventional,
but note the Boolean Logic in lines 52 and
74.
There are a lot more than 175 3-letter
words in the English language, so you might
like to make several versions.
Besides showing a method of storing 3
CX81 GRAPHICS MODULE
Create your own unique character set under
SINGLE DOT CONTROL. Up to 32 char. for
creating game pieces, musical notation, foreign
alphabet! ZX81-powered, no mods needed.
PLANS $10 w/negatives: $15 Assembled: $89.95
RX81 ROBOTICS INTERFACE
Command the real world with this Input/Output
Building Block. Detect 8 switch conditions and turn
on/off 8 L.E.D. displays from your computer.
Expandable to 32 devices! SIMPLE SOFTWARE
Plans $5 w/negatives: $10 Assembled: $75
f= COMING SOON: LP81 LIGHT PEN "has
20 DEX .. Allows you to write directly on your TV! =
EASTHILL, OAKHAM, MA 01068 WE PAY POSTAGE
~~
~.
z? Б"
ЗЕ У LL LL
characters in 2 bytes, this program also
shows that once arrays have been set ир,
the routine which established them can be
deleted so long as CLEAR and RUN are
avoided. 2"
NOW AVAILABLE
Keyboards
Standard Computer Keyboard Designed
for ZX81, ZX80, & MicroAce
e Same switches used on Apple Computers
• Two shift keys • 6-inch space bar
ieee & ? 6 6$.
oO WER T * Y + OQ р
SE 6 F © HW ук ү
E X с
¥ 8 NAM
Plans for keyboard conversion with reverse video —
$5.00
Keyboard with complete parts and plans — $55.00
Wired keyboard, complete with plans — $75.00
Shipping Charge (by UPS) — $5.00
SRS ES er STE SES PEROT, SD IRE, EE
SEND CHECK OR MONEY ORDER TO:
SEND SASE FOR INFO
Prices Subject To Change
L.J.H. Enterprises
P.O. Box 6305, Orange. CA 92667
(714) 780-1422 Visa & M/C Accepted
-81 SPACE
RAIDERS"
МЕ MABES HEROS Mage THETA PHY
3.292 E 05
8:275 E 05
+4182 E 07
4.780 E 06
The Federation has
declared a state of all-out war,
leaving you in charge of the
Starship Defiant: newest and
most advanced spacecraft
known to man.
Soon, your experienced
guidance will bring you within
range of the Klingon convoy.
Hundreds of stars flash by as
you check the status of your
Phasors, Shields, Masking,
Navigation, Scanning, and
Computation Equipment. Tne
energy drain is tremendous, as
the target distance indicator
ticks slowly downward...
As you come into range
you set your cross-hairs on the
nearest ship. Fire Phasors! !!
Switch to Aft view!!! Evasive
Maneuvers!!! Space explodes
all around you as the first
Klingon ship disintegrates and
1.297 E ОЗ
5.222 E 05
-2.574 E O5
5.692 E 06
the remainder lock onto your
position...
High speed graphics and
custom ML math package
provide the real time, accurate
simulation of the above space
navigation and battle scenario.
You've never seen this kind of
performance on your ZX81
before!
Only $19.95 for cassette,
keyboard overlay, and manual
(shipping included). (Utah
residents add $.95 tax)
NIRAD
ELECTRONICS
959 East 460 South
Provo, UT 84601
4K ROM
1К RAM
Character Reverse
Have you ever wanted to put a reverse
character in a string but you had no way of
doing it? Here is a simple answer. a small
machine language program that will reverse
a character for you:
Decimal Mnemonic
221,42,8,64 LD IX (nn)
33,70,64 LD HL, nn
35 INCHL
126 LD A (HL)
221,190,0 CP (IX d)
200 RET cc
254,27 CP n
194,50,64 JP cc, nn
35 INC HL
126 LD A (HL)
198,128 ADD A,n
119 LD (HL) A
195,50,64 JP nn
How It Works
The first line loads the IX register with
the memory location of the end of the
Basic program, pointed by VARS. then
the HL register is loaded. LD HL. nn. with
the end of the machine language program.
The HL register is then incremented in
the line INC HL. In the next line the A
register is loaded with the memory contents
pointed to by HL. The A register is then
compared to the memory location pointed
by the IX register. If they are equal. the
program returns to Basic. The two will
only be equal if it is at the end of the Basic
program. The A register is then compared.
CP n. with 27. the character number of *.”.
If they are not equal. then the program
jumps up to INC HL and repeats the
cycle. If they are equal, then HL is incre-
mented and the A register is loaded with
the memory contents pointed by HL. Then
128 is added. ADD A. n. to A to get the
reverse of the character. It is then loaded
back into the memory location pointed by
HL. Finally the program jumps back to the
first INC HL and continues until the end
of the Basic program.
Daniel Freeman, 2902 E. Hoover Ave., Orange,
CA 92667.
48
Writing the Program
Type the following:
REM 12345678901234567890
123456
100 FOR X —16427 TO 16452
110 PRINT X..
120 INPUT A
130 IF РЕЕК (16421)<2 THEN CLS
140 POKE X.A
150 PRINT PEEK(X)
160 NEXT X
Then type in:
10 REM THEN THEN THEN THEN...
Continue typing THEN until line 1
disappears. then enter:
10 REM DO NOT GO UP
RUN and enter the following values:
16427 221
16428 42
16429 8
16430 64
16431 33
16432 70
16433 64
16434 35
16435 126
16436 221
16437 190
16438 0
16439 200
16440 254
16441 27
16442 194
16443 50
16444 64
16445 35
16446 126
16447 198
16448 128
16449 119
16450 195
16451 50
16452 64
DO NOT PRESS LIST OR HOME. THE
PROGRAM WILL BE LOST IFSHOWN.
Delete lines 100-160; then save the pro-
gram.
To Operate:
Before writing your own program. load
this one. Whenever you need the reverse
of a character. insert a "." before the
character to be reversed. Then enter GOTO
USR(16427). More than one character can
be done at a time.
If you wish to use a different character
than ".". POKE 16641. (the character
number of vour choice). a"
Daniel Freeman Index га
SaOVertisers
PUEDE. x coh ehh ber boda RV RP нана. 31
Altex Electronics......-................ 2
Andover Software......................41
Andrew Developments..................35
Audiograph Co... osos 20
В & В Ѕоймае 0... 33
Вуѓе-Васк Со............... „ОЛЕГЕ І
CAI Instruments.......................13
Compusoft Publishing.......... 6
Computer Continuum...................20
Cook Laboratories....................... 5
Стозшп.......у%+...+..»+.-+,--..... cal
Dolphin Computer... es 19
Doran Engineering......................33
Double H Electronics. 0... 39
Ezra Groupdl. 2... oo Й
Flint Data Systems. „анаа КӘ
Fuller Micro.................. Cover 3
J.P.Gibbons.......................... M
Gladstone Electronics. ‚24,25
Intellectual Games. . ree ere 6
JRS Software. .......................... 37
KB Enterprises. . . ООЛО 18
ODO eco hie rexaxésm ve der кез isyan .
Lamo-Lem Laboratories... .............. 22
Leading Edge.....................Cover4
L. J: H. Enterprises.: -oo eser 47
William D. Марез...................... 27
Мето{ёеН.........5.......--.5з4ввхяз 7
Nirad Еесігопісѕ ..................... 47
PM Enterprises.........................37
Sinclair Place..........................33
Sinclair Кеѕеагсһ. 10
БОЙвУуПС..................4-......5› ...21
Software Applications................... 45
бупсһгтот2е...........................37
Synchro‘Sette..-..................Cover 2
SEND. esses than deta яз» e к=з Kite gars 17
SUVICWaTe. sse euh auk саноа. Jo
Systems & Solutions ...................27
Timedata.... cece cn e e 45
Dennis Weber.......................... 18
Wisconsinc Electronics.................. 36
Zeta Software... 43
7/,<заїйё$...:.......................... 41
VOU. „+ уз „улага кх re ee ee 47
М Е М! creative computing
1982 SOFTWARE
BUYERS GUIDE
Details on more than software programs, including
applications and systems software, directory of
manufacturers, and more! Get the facts you need
before you buy—order your copy today!
TO ORDER:
Send $5.00 ($3.95* plus $1.05 postage &
handling) to:
SOFTWARE BUYERS GUIDE
P.O. Box 340
Broomall, PA 19008
$6.00 outside of U.S.A.
*Residents of CA, CO, CT, DC, FL, IL, MA, MI, MO, NJ, NY State,
OH, SC, TN and VT please add applicable sales tax.
SYNC Magazine
FULLER FD SYSTEM $79.95
Professional Keyboard & Case for Sinclair ZX81
The ZX8lfits inside.
The tough ABS injection moulded
plastic case measures 8” x 14" x 2^"
and hooks up to your ZX printed
circuit board in minutes. No technical
know how or soldering is required.
KEYBOARD LAYOUT:
All the Sinclair ZX81 keys are duplicated on our layout, with extra shift and new
line keys. The professional momentary action key switches have a guaranteed
life of 10° operations. The unit is fully built tested and comes complete with a
money back guarantee.
INSTALLATION MOTHERBOARD:
Simply unscrew the ZX printed circuit board from We also manufacture a mother board which allows
its case and screw it into the FD Case. expansion to the ZX memory and 1/0 facilities
WITHIN the case, as well as our power supply unit
and reset switch.
ГАО Собе | | Price T Qty Amount
Fuller FD System 42 Keyboard & case 79.95
б
FD System Motherboard | 2995 | |
FD 16K. Memory Module
FD 64K. Memory Module 149.96
FD PSU 9 Volts at 2 amp. | 1495 | | |
FD Shipping and Handling вој
Mail to FULLER MICRO SYSTEMS,
The ZX Centre, Sweeting Street, Liverpool 2. England, U.K.
IE NT u-—u————-—-—-————————————————
m 48s с ЖЖЖ Т, 74 C T—————— €